IEからひまわりを起動する方法

IEを使っていて、突然、ひまわりが使いたくなったとしましょう!そんなときはどうしたら良いのでしょうか?そんなときは、ひまわりのプログラムを、IEの右クリックで出てくる、コンテキストメニューに追加してしまえばいいんです!

【難易度】☆☆☆


IEへのインストール

 IEへインストールするためには、まず、IEの設定が保存してあるレジストリに、ひまわりのプログラムへのパスを書き込みます。
 ただし、レジストリを操作することになるので、今回書いたプログラムについては、いつも通り、自己責任でお願いします。
 そのためには、以下のプログラムを使います。(→ダウンロード
 ちょっと長いですけど、太字の変数を、ちょっと書き換えてコピペすれば、そのまま使えるものになります。
' -------------------------------------------------
' IEコンテキストメニューにインストール
' 以下を設定する
' ここから

メニュー名は、『ひまわりテスト』
起動プログラムは、母艦のパス&『テスト.hmw』
HTML全文ファイルは、母艦のパス&『全文.htm』
選択範囲ファイルは、母艦のパス&『選択範囲.txt』
起動用HTMLは、母艦のパス&『起動用スクリプト.htm』
' ここまで

' -------------------------------------------------
' レジストリへの登録
IEキーは、『Software\Microsoft\Internet Explorer\MenuExt\』
IEキーに、メニュー名を、足す。

HKEY_CURRENT_USERの、IEキーを、レジストリ開く。
それは、起動用HTML。『』に、レジストリ書く。
$7Fを、『contexts』に、レジストリにDWORDを書く。
0を、『flags』に、レジストリにDWORDを書く。
レジストリ閉じる。

' -------------------------------------------------
' 起動用 HTML の生成
雛形は、『<SCRIPT LANGUAGE="VBScript">
Dim ws, fo, tf
Dim SelText, Doc

Set ws = CreateObject("WScript.Shell")
Set fo = CreateObject("Scripting.FileSystemObject")

' HTML全体を保存する
Set tf = fo.CreateTextFile("__HTML_FILE__")
Doc = external.menuArguments.document.all.tags("HTML")(0).outerHTML
tf.WriteLine( Doc )
tf.Close
' 選択されたテキストを保存する
Set tf = fo.CreateTextFile("__TEXT_FILE__")
SelText = external.menuArguments.document.selection.createRange().text
tf.WriteLine( SelText )
tf.Close

'プログラムの実行
ws.Run CHR(34) & "__RUN_FILE__" & CHR(34)
</SCRIPT>』

それは、雛形。
『__HTML_FILE__』を、HTML全文ファイルに、置換
『__TEXT_FILE__』を、選択範囲ファイルに、置換
『__RUN_FILE__』を、起動プログラムに、置換
起動用HTMLへ、保存。

「IEの右クリックメニューに、{メニュー名}を登録しました。」と、言う。
おわり。

運用テスト

 とりあえず、上の雛形をそのまま使うには、上のプログラムと、『テスト.hmw』を、作っておく必要があります。
’テスト.hmw
「選択範囲.txt」を、開く。
「こんにちは。IEから、ひまわり起動!
選択範囲は、{それ}」と、言う。
 IEを、起動しなおして、何か適当な文字を選択して、右クリック、そして、『ひまわりテスト』メニューをクリックしてください!

 ・・・どうでしょうか?
 IEから、ひまわりのプログラムが実行されました。感動です!
 IEで選択した文字列は、『選択範囲.txt』に、起動したHTMLファイルは、『全文.htm』へ、保存される仕組みになっていますので、これを開いてやれば、それを利用できます。

アンインストール

 それから、忘れがちですが、もし、一般の人に配布するようなものを作るには、アンインストールプログラムを作る必要があります。これがないと、皆から恨まれる結果になります。
' -------------------------------------------------
' IEコンテキストメニューのアンインストール

メニュー名は、『ひまわりテスト』

' -------------------------------------------------
' レジストリから削除

IEキーは、『Software\Microsoft\Internet Explorer\MenuExt\』

HKEY_CURRENT_USERの、IEキーを、レジストリ開く。
メニュー名を、レジストリキー削除。
レジストリ閉じる。
「アンインストール完了!」と、言う。
おわり。

まとめ

 やはり、IEから、ひまわりが使えるのは、便利ですよね〜。

 今回の内容をカスタマイズしてもっと細かいことをやろうと思ったら、WSHの知識が必要になってしまいますが、雛形部分の「external.menuArguments.document」などを、検索エンジンで調べると、いろいろ資料が出てきますので、ちょこちょこっと書き換えれば細かいことができます。

戻る