プログラマメモ2 - programmer no memo2

ieに右クリックメニューとclipboardData 2010/02/27

IE(Internet Explorer)の右クリックメニュー(コンテクストメニュー)にメニューを追加します。
あわせて呼ばれるプログラム(Javascript)を設定します。

参考



レジストリ経由でメニューを追加します。

以下
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\a]
@="file:///Z:/for_win/research/ieに右クリックメニューとclipboardData/a.html"
"Flags"=dword:00000000a


REGEDIT4
は何やら必須のようですね。

レジストリファイルの解説 - 進め!中級プログラマー

次に実行するjavascriptを書いてあるhtmlファイルの用意
<script language="JavaScript">

// 開かれたコンテクストメニューがあるウィンドウ
var oWindow = window.external.menuArguments;
var oDocument = oWindow.document;
// 選択された部分
var oSelect = oDocument.selection;

// TextRangeCreate
var oSelectRange = oSelect.createRange();
var sNewText = oSelectRange.text;
// 取得した文字列をクリップボードに入れる
clipboardData.setData("Text", oSelectRange.text);

oSelectRange.text = "上書き";

</script>


これでIEを再起動するとメニューの追加されてりいます。呼び出されるjavascriptはその都度呼び出されるので、修整しながら実行がらくですね。

あと、Javascriptでクリップボードに値をコピーします。
IEだとクリップボードのやりとりがClipboardDataを通してできるようです。

: