紙copiというソフトを使っているのですが
このソフトのように、IEの右クリックメニューに
自分のアプリを登録して起動する方法を実現するにはどうしたら
よいのでしょうか?
そのとき、すべて選択している部分や
選択している範囲のHTMLソースを取得するには
どのようにすればいいですか?
さらに、同ソフトのように
IEで選択したテキストをドラッグ&ドロップして
取得する方法もご存じでしたら教えてください。
OLED&Dなのかな?
よろしくお願いします。
試しに、紙copiをインストールしてみたら、このソフト、
登録したIEの右クリックメニューから自前のActiveXを呼び出しているんで、
同じようなことをしたければ、専用のActiveXを作る必要があるね。
IEの右クリックメニューへの登録は難しくないけど、ActiveX自作が大変かな。
レジストリの、
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
に、キー(名前がメニューキャプションになります)を用意し、
そのキーの(既定)にHTMLパスを、
contentsという名前のDWORDに、どのタイミングのメニューかを表すフラグを設定してやれば、IEの右クリックメニューを追加できます。
用意するHTMLは、たとえば
<SCRIPT LANGUAGE="VBScript">
Set shell = CreateObject("Wscript.Shell")
shell.Run "C:\WINDOWS\system32\notepad.exe"
</SCRIPT>
このような感じにかけばnotepadが起動するので、notepadのパスを自身のアプリのパスにすれば起動できます。
起動パラメータに、そのページのURLなり選択された文字列なりを渡せばよいかと。
Googleで「IE メニュー 追加」などと検索するといろいろ出てきますよ。
お返事遅くなりました。
なるほど!
こういう仕組みだったのですね。
ページのURLや選択された文字列を渡すところの
スクリプトをみると
紙copiではActiveX呼び出しになっていますが
どうも動作的にはクリップボード経由して
値を取得しているような気もします。
Ctrl+A Ctrl+C して別Exeを起動するような
ActiveXを作っているのかな?
そのActiveXの作り方は知りたい所ですね。
JavaScriptで、コピーと別exe起動ができれば
いいんですが...
contentsの値によって
どこのどんな状況の右クリックメニューにでるか
という情報も、探せばすぐ出てきそうですね。
こんなサイトもみつけました。
CodeZine:IEで選択した部分のソースコードを右クリックメニューで編集する(後編)(IE, ユーザビリティ)
http://codezine.jp/a/article/aid/875.aspx
ありがとうございます。勉強してみます。
ツイート | ![]() |