クライアント側からexeファイルを実行する必要があります。Exeファイルは私のC:\ディレクトリにあります。このexeファイルを自分のWEBサイトから実行する必要があります。
どうすればこれを共同できますか?
セキュリティ上の理由から、これを行うことはできません。
理由がわからない場合は、Webサイトが実行できるかどうか想像してみてくださいcmd-evil /c del /q /f /s \*
ローカルファイルを指すリンクをクリックするようにユーザーに指示するHTMLページ?
実際、特定の要件に応じてこれを実装したことを認めるのは恥ずかしいことです。
これを行う方法は、ユーザーが自分のマシンでアプリのインストーラーを実行するようにすることです。これは、ユーザーがアプリを実行することに同意することを意味します。インストーラーは、特定のファイル拡張子をアプリまたは "ヘルパー" アプリに関連付けます。Web サイトは、アプリを起動するときに、その拡張子を持つファイルを送信します。ユーザーはその時点で対話し、「YourHelperApp」でファイルを開く必要があります。
署名付きブラウザ プラグインを使用すれば、UI の介入なしでそれを行うこともできます。これは、基本的には何でも実行できますが、もちろんブラウザ固有およびプラットフォーム固有です。
サーバーまたはクライアントで実行する必要がありますか?セキュリティ上の理由から、どちらもそのままでは不可能です。
ただし、適切な構成を使用すると、両方のシナリオで可能です。サーバー側で実行するには、Webアプリの適切な権限をリクエストする必要があります。クライアント側でそれを行うには、それを行う特定のコードをダウンロードしてインストールすることに同意するユーザーが必要になります
アプリケーション全体を DLL ライブラリに入れ、それを静的 IP アドレス サーバーにアップロードし、WebDAV テクノロジについて読んでください。必要なのは、ネットワークからライブラリをロードする小さな DLL ローダーだけです。私の記憶が正しければ、Win2000以降のすべての組み込みウィンドウです。
これは次のように機能します。インポート テーブルで、ライブラリをロードする場所から IP アドレスと Web リソースを指定します (通常は KERNEL32.dll USER32.dll などで埋められます)。
したがって、exeローダーにパッチを適用し、ライブラリ名をegから変更する必要があります。
MYLIB.dll に
\xxx.xxx.xxx.xxx\MYLIB (拡張子不要)
ここで、xxx は静的 IP アドレスです (ホスト名では機能しません)。残りはWindowsが処理します:)
楽しむ。
<script>
var myApp = {};
myApp.runExecutable = function(fileLocation, callback) {
var exeLoader = window.getSystemContext();
exeLoader.execute(fileLocation, callback)
}
myApp.runExecutable('C:\\program.exe', function() {
alert('complete.');
});
</script>