HKEY_CURRENT_USER
+―Software
+―Microsoft
+―Internet Explorer
+―MenuExt
|
上記レジストリ下に、「追加したいメニュー名」で新規にキーを作成します。
キーの値は「文字列(既定)」に“中継ファイルとなるhtml(後述※1)”のフルパスを、「contexts」という名前のDWORD値にフラグを(リンクであれば0x020、画像であれば0x002等をOr演算)設定します。これで、コンテキストメニューに追加されます。
追加したコンテキストメニューが呼ばれると、上記の(※1)のhtmlファイルが呼び出されます。
そこからアプリケーション(.exe)を呼び出すには、(※1)に以下のようなコードを記述します。
<HTML>
<!-- IEからアプリケーションを呼び出すスクリプト -->
<SCRIPT LANGUAGE="JavaScript" defer>
<!--
var PWin = external.menuArguments; //IEのオブジェクト(窓の情報が全部入ってる。)
var commandArgv = "(渡したい引数を指定)"; // 例えば、リンクURLであれば[PWin.event.srcElement.toString()]で取得可。
var exePath = "file:///(アプリケーションのフルパス。\→/で書き換えて記述)"
var objShell = new ActiveXObject("WScript.Shell");
objShell.Run( exePath + " " + commandArgv, 1, false); //アプリケーションを呼び出す。tureにすると、終了を待機する。
//-->
</SCRIPT>
</HTML>
|
以上で、IEのコンテキストメニューからアプリケーション(.exe)を実行することが出来ます。