1

ASP.net Web サイトを介して別のローカル アプリケーション (C# を使用して開発されたアプリケーション) を実行し、ローカル アプリケーションにパラメーター (名前、ソース ファイルなど) を送信するにはどうすればよいですか?

(これにはセキュリティリスクがあることを理解していますが、提案を検討します) よろしくお願いします。

4

3 に答える 3

2

Skype のように独自の URL プロトコルを処理できます。

phone://123546
localapp://data

次にリンクを作成します

<a href="localapp://data">Open App</a>

またはサーバー側でリダイレクトを試みます

Response.Redirect("localapp://data");

そしてそれを処理します

例:

ローカル アプリケーション (c:\localapp.exe):

using System;
class LocalApplication
{
  [STAThread]
  static void Main(string[] args)
  {
    Console.WriteLine(args[0]);
    Console.ReadLine();
  }
}

レジストリ:

HKEY_CLASSES_ROOT 
     localapp
          (Default) = "URL:Local App"
          URL Protocol = ""
          shell
               open
                    command
                         (Default) = "c:\localapp.exe" "%1"

HTML:

<a href="localapp://Hello">Start LocalApp</a>
于 2012-07-27T06:47:24.083 に答える
0

サーバーまたはクライアントでローカル プログラムを起動するということですか?

サーバー上でプロセスを開始し、アクセスする必要がある情報についてコマンド ライン パラメータを渡すことができます。

于 2012-07-27T06:24:03.887 に答える
0

これは、最新のブラウザのセキュリティ制限により不可能です。

ユーザーを IE に制限できる場合 (非常に悪い習慣)、ActiveX コントロールはそれを行うことができます。ここに小さなコードスニペットがあります。

<SCRIPT Language="JScript">
function runcmd() {
File="cmd.exe";
WSH=new ActiveXObject("WScript.Shell");
WSH.run(File);
}
</SCRIPT>
于 2012-07-27T06:37:30.947 に答える