なげやりろぐ

フテイキコウシン

 へんなの作った


SeaHorseスクリプトを新規に導入したりスクリプト内の設定弄ったり改造したりしたとき、いちいちSleipnirオプション画面開いて拡張機能クリックしてSeaHorseの部分クリックして再読込みさせて閉じてからビューの更新するのってめんどくさくないですか?

自分はそんなことしないからイイってヒトには無視していただいてイイんですが、自分でスクリプト作ったり他の人の上げたスクリプトを自分好みに改造したりとかしている方はこのあたりの操作が常々(`皿´)ウゼーと感じているハズ。
SeaHorseプラグインをインストールした時点で新しいアクションとして再読込みが追加されていればイイんですけど未だ実装されていないので、自分の環境で使えればいいやと思ってUserActionScript+AutoHotKeyの組み合わせでワンボタンクリックで再読込みしてくれるようなものをでっち上げてみました。
実際に使ってみたところまぁまぁ使えるぞってなことでAutoHotKeyのスクリプトをAHK環境のない方でも使えるように実行ファイルへとコンパイルして配布してみようかと。


動作的にはナニコレな感じですが、とりあえず使えるとおもうので使ってみたい方だけどうぞ。
zipに固めて配布することも考えましたが、せっかくSAHKでOEIという便利なものが公開されていることですし、OEI対応版としてそちらの方に用意されているラボへアップしておきますね。
ウイルスチェックしたところひとつだけ引っかかっちゃったんですが、特に変なことはしていないのであまり気にしないでイイかなと。ていうか基本的にこういったものの利用は自己責任でお願いしたい(笑)
まぁチェック結果が気になる方はスルーしちゃってくださいねってことで♪

一応ね

たいしたことはやってないんだけどコードを晒しておきます。

  • sh_reload.js
var ExePath = sleipnir.ScriptFullName.replace(sleipnir.ScriptName, '').replace(/\.js$/, '') + "\\sh_reload\\sh_reload.exe";
var sh = new ActiveXObject("WScript.Shell");
sh.Run('\"' + ExePath + '\"');
sleipnir.API.ExecuteAction('Sagittarius_PluginOptionByName(SeaHorse)');
sh.Quit;
  • sh_reload.ahk (配布版では実行ファイルにコンパイルしてあります)
#NoTrayIcon
WinWaitActive, ahk_class #32770
	click 480,340
	Sleep, 1000
	click 410,390
		Exit
	ExitApp

ナニをやっているかというと、このアクションを実行するとスクリプト内では実行ファイルまでのパスをとりあえず変数に格納したのちWSH使って起動しておいて、次にSagittarius_PluginOptionByName(SeaHorse)で呼び出したSeaHorseのオプションダイアログが現れたら再読み込みボタンを「ポチッとな」しにいって再読み込み完了するまで1秒ほど待ってから*1OKボタンをクリックしにいって終了するといった感じ。
みてのとおりアヤシイ事はなんもしてないです。*2


追記

Sagittarius Dock の導入は必須です。Sagittarius や VarticalToolBarでの利用時にアイコンが表示されるようにもしてあります。*3

*1:再読み込み動作が終了するタイミングを暫定で1秒にしてあります。多分このくらいで大丈夫ではないかなと。

*2:Win7 RC 環境で作成したのでオプションダイアログのボタンを押す座標がほかのOSで狂ったりしていないか心配だったのですが、SAHKスタッフにXP環境での動作に問題ないことを確認していただくことが出来ましたので一安心♪

*3:本スレで配布されているtest10ではVarticalToolBarがうまく動作しないようなのでお気をつけくださいね。