Internet Explorer のコンテキストメニューに項目を追加する

出典: encom wiki

kawano 2008年3月5日 (水曜) 11:05

レジストリエディタなどで、HKEY CURRENT USER/Software/Microsoft/Internet Explorer/MenuExt/ に右クリックメニューに表示するテキストでキーを登録する。
レジストリエディタで編集した場合のサンプルを下図に示す。サンプルはテキストが選択されている場合に追加したコンテキストメニューが表示され、追加したコンテキストメニューを押下すると G:\Program Files\entry.html が起動するというサンプルである。


画像:Sample200803051033.jpg


  • キー(既定)の値を起動する HTML ファイルのパスにする。(コンテキストメニュー選択時に実行される)
  • キーに contexts(REG_DWORD型) を追加する。(詳細は下表を参照)
  • 必要に応じて flags(REG_DWORD型) を追加する(詳細は下表を参照)


キーの値

■contexts(組み合わせ可能)
0x00000001(10進では1) 常に表示される
0x00000002(10進では2) 画像上でメニューが表示された時
0x00000004(10進では4) フォームのコントロール上でメニューが表示された時
0x00000008(10進では8) テーブル上でメニューが表示された時
0x00000010(10進では16) テキストが選択されてメニューが表示された時
0x00000020(10進では32) リンク上でメニューが表示された時
0x00000040(10進では64) 上記以外の場合にメニューが表示された時

■flags(flagsがない場合は通常モードになる)
0x00000000(10進では0) 通常モード
0x00000001(10進では1) モーダルダイアログモード


起動される HTML ファイルのサンプルを下記に示す。選択したテキストとブラウザに表示されている URL を取得するサンプルである。


entry.html の例

<script type = "text/javascript" defer>
<!--
// ブラウザのデータを取得
var menuArgs = external.menuArguments;    // 引数オブジェクト
var doc = menuArgs.document;              // 元ページのドキュメント
alert("URL=" + doc.URL + " 選択テキスト=" + doc.selection.createRange());
//-->
</script>
リンク