web-dev-qa-db-ja.com

HTMLの「onclick」で.exeまたは.batファイルを実行することは可能ですか

Html5ボタンイベントを使用してbat/executableファイルを実行することは可能ですか? IEで、私が間違っていない場合、Shellオブジェクトを使用して達成可能です。

34
VSr

これが私がしたことです。ネットワークにHTMLページをセットアップしたかったため、アプリをインストールまたはアップグレードするためにさまざまなフォルダーに移動する必要がありませんでした。だから私がやったのは、誰もがアクセスできる「共有」ドライブに.batファイルをセットアップすることでした。その.batファイルには次のコードがありました。

start /d "\\server\Software\" setup.exe

HTMLコードは次のとおりです。

<input type="button" value="Launch Installer" onclick="window.open('file:///S:Test/Test.bat')" />

(あなたのスラッシュが正しいことを確認してください、私はそれらを他の方法で持っていましたがうまくいきませんでした)

EXEを直接起動することを好みましたが、それは不可能でしたが、.batファイルを使用してそれを回避できました。 FFまたはChromeで機能したいのですが、IEのみでした。

21
Chuff

いいえ、それは巨大セキュリティ違反です。誰かが走れるか想像してみて

format c:

あなたが彼らのウェブサイトを訪れたときはいつでも。

33
Doorknob

ページ自体がfile:///パスを介して開かれている場合に可能です。

<button onclick="window.open('file:///C:/Windows/notepad.exe')">
    Launch notepad
</button>

ただし、Webサーバーに配置した瞬間(http://localhost/経由でアクセスした場合でも)、エラーが発生します。

エラー:スクリプトから「file:/// C:/Windows/notepad.exe」へのアクセスが拒否されました

18
user247702

OCXコンポーネントを使用するInternet Explorerおよびchrome拡張機能を使用してchromeブラウザでそれを行うことができます chrome document いずれにしてもクライアントシステムで追加設定が必要です!

chrome拡張ソースの重要な部分:

var port = chrome.runtime.connectNative("your.app.id"); 
      port.onMessage.addListener(onNativeMessage); 
      port.onDisconnect.addListener(onDisconnected);
      port.postMessage("send some data to STDIO");

許可ファイル:

{
      "name": "your.app.id",
      "description": "Name of your extension",
      "path": "myapp.exe",
      "type": "stdio",
      "allowed_origins": [
            "chrome-extension://IDOFYOUREXTENSION_lokldaeplkmh/"
      ]
}

およびWindowsレジストリ設定:

HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\your.app.id
REG_EXPAND_SZ : c:\permissionsettings.json
4
Stefan Kanev

ユーザーのローカルマシンまたはサイトを介して.exeファイルを実行/実行することはできません。ユーザーはまずexeファイルをダウンロードしてから、実行可能ファイルを実行する必要があります。
したがって、可能な方法はありません

次のコードは、EXEがユーザーのマシンに存在する場合にのみ機能します。

<a href = "C:\folder_name\program.exe">

2
coolprarun