windows10のIE11からローカルのexeを実行 (URIスキーマ,ActiveX)


レジストリにURIスキーマを新規登録する方法

Edgeでは実行できなかった。IEでは実行できた。

note.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\note]
"URL Protocol"=""

[HKEY_CLASSES_ROOT\note\shell]

[HKEY_CLASSES_ROOT\note\shell\Open]

[HKEY_CLASSES_ROOT\note\shell\Open\command]
@="\"C:\\Windows\\notepad.exe\""


<a href="note:">notepad</a>


ActiveX 例1

<script LANGUAGE="JavaScript">
function cmd() {
    var obj = new ActiveXObject("WScript.Shell");
    obj.Run("cmd.exe");
}
</script>
<body>
<a href="javascript:cmd()">コマンドプロンプト</a><br>
</body>

ActiveX 例2

function _notepad(filename) {
    var shell = new ActiveXObject("WScript.Shell");
    shell.Run("C:\\windows\notepad.exe" + filename);
}

ローカルにhttpサーバーを建ててそこからexe実行

  • http://localhost:8000/ にアクセスしたら c:\windows\notepad.exeを実行するようなの作るとか。