miau's blog?

TortoiseIDiff

前回の続き。画像の比較について。




ファイルの比較を色々やってるけど、画像の比較もやりたくなりまして。
ぐぐってみると、TortoiseSVN の付属ツールに TortoiseIDiff ってのがあるっぽい。
早速使ってみたんだけど、コマンドラインから引数を受け取ってくれないみたい。

仕方ないので、こんなファイルを準備。

// TortoiseIDiff の起動
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run('"C:\\Program Files\\TortoiseSVN\\bin\\TortoiseIDiff.exe"');

// アクティブになるまで待機
var failure_count = 0;
while (!WshShell.AppActivate("TortoiseIDiff")) {
WScript.Sleep(100);
if (++failure_count >= 30) {
WScript.Echo("can't activate window!");
WScript.Quit(-1);
}
}
WScript.Sleep(100);

// 第一引数、第二引数をそれぞれ左側/右側の画像として指定
objArgs = WScript.Arguments;
WshShell.SendKeys(objArgs(0));
WshShell.SendKeys('{TAB}');
WshShell.SendKeys('{TAB}');
WshShell.SendKeys(objArgs(1));
WshShell.SendKeys('{ENTER}');

C:\Program Files\TortoiseSVN\bin\TortoiseIDiff.js として保存しておく、と。

そうすると、

"C:\WINDOWS\system32\wscript.exe" "C:\Program Files\TortoiseSVN\bin\TortoiseIDiff.js" "C:\pr\hoge" "C:\st\hoge"

みたいな感じで呼び出せるようになりました。

問題としては、SendKeys() 使ってるから ALT とか押しながら .js を起動すると想定した動作にならなかったり。
SendMessage とか使えばいいんだけど、面倒だからとりあえずこれで。
posted at 19:30:21 on 2007-01-25 by miau - Category: General No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

miau wrote:

imageDiff がよさげ。
http://www.ionforge.com/pro...
て表示できるから差分がわかりやすいし、コマンドライン引数も使えるっぽい。
2007-08-15 22:01:49

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。