レジストリにURIスキーマを新規登録する方法
Edgeでは実行できなかった。IEでは実行できた。
- Registering an Application to a URI Scheme (Windows)
- windows - ActiveXを使わずにwebブラウザ上でクライアントのexeを実行する方法 - スタック・オーバーフロー
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を実行するようなの作るとか。