eclipse+eclipsemonkey+AutoHotkeyでHTMLなどをeclipseのエディタで保存した時にInternetExplorerをリロードする方法
昨日のエントリでは、eclipseのエディタでファイルを保存した際に、Firefoxをリロードさせていましたが、InternetExplorer(以下IE)でも出来るようになったので続編です。
Firefoxをリロードしていた昨日のエントリとの違いは、AutoHotkeyで作るブラウザリロード用exeの違いだけですので、それ以外の部分については昨日のエントリを参照してくださいませ。
IEリロード用exeの概要
昨日のエントリでは、FirefoxにF5キーを送る仕組みをAutoHotkeyで実現していました。これはIEでは動作しません。
試してみると、IEはWindowがActiveでないとF5を受け付けないようでしたので、WindowをActiveにするようにAutoHotkeyのスクリプトに追記しています。またそのままだとeclipseのWindowからフォーカスが外れてしまってうれしくないので、IEをリロード後に元にアクティブだったWindowを再度Activeにする処理も加えています。
一瞬EclipseのWindowが非Activeになります。ちょっと美しくないですが。。。これ以外の方法は試せていません。。。
IEリロード用exeをAutoHotkeyで作る
- あらかじめ、昨日のエントリを参照してAutoHotkeyをインストールしておきます。
- 次のスクリプトをローカルPCにて作ります。
#NoTrayIcon SetTitleMatchMode, 2 ;;; if exist active window, save windowTitle. WinGetActiveTitle, OriginalActiveWin #WinActivateForce WinGet, IE,, Internet Explorer WinActivate, ahk_id %IE% ControlSend,, {F5}, ahk_id %IE% ;;; restore active window. WinActivate, %OriginalActiveWin%
- スクリプトをexeにします。
- 「スタート」ボタン→「AutoHotkey」→「Convert .ahk to .exe」を使います。
eclipsemonkeyスクリプトからreload_ie.exeを呼び出すようにします。
少々汚いですが、reloadFirefox.js の Setting部分に指定しているreload_firefox.exeをreload_ie.exeに書き換えてやればOK。
var Setting = {
targetFileName: "",
targetFileExtension: "html,js,css",
reloadFilefoxExe: "c:\\dev\\reload_ie.exe",
};
ところでAutoHotkey便利
出来ることを調べるために、リファレンスを見てみましたが、ちょっとしたツールを作るのには十分に便利そうです。いいですね!!!
*1:多分日本語が含まれたパスが悪い気がします。半角スペースとか、文字数かもしれませんが、ちゃんと試してないので。。