私にそそのかされてK2Editorから乗り換え中の知り合いから、辞書登録だけはK2が便利といわれたので作っちゃいました。再変換?を利用して読みがなもセットするので、勝ちです?
選択範囲またはカーソル位置の単語をユーザー辞書に登録するのを支援します。
ActivePerlの他に拡張モジュールのWin32::GuiTestが必要です。インストール方法などは
http://perldoc.jp/docs/modules/Win32-GuiTest-1.3/GuiTest.pod 参照。
JScriptなどへの移植は苦しいので、使える方だけ・・・
# AddWordIME.pls
use Win32::GuiTest qw(FindWindowLike SetForegroundWindow SendKeys);
use Win32::Clipboard;
$CLIP = Win32::Clipboard();
$Win32::GuiTest::debug = 0;
$execComm = "C:\\WINDOWS\\ime\\IMJP8_1\\imjpdct.exe";
@windows = FindWindowLike(0, "\x92\x50\x8c\xea\x2f");
$kanji = GetSelectedString(0);
unless($kanji){
SelectWord();
$kanji = GetSelectedString(0);
}
Copy();
if (not @windows) {
ExecCommand($execComm , 0 );
while(not @windows){
sleep 1;
@windows = FindWindowLike(0, "\x92\x50\x8c\xea\x2f");
}
}
$imeWin = shift(@windows);
SetForegroundWindow($imeWin);
SendKeys("{PAUSE 300}");
SendKeys("%g");
SendKeys("^v");
$CLIP->Empty();
SendKeys("+{HOME}");
SendKeys("{F13}", 300);
SendKeys("{ESCAPE}", 200);
SendKeys("{ESCAPE}", 200);
SendKeys("+{END}");
SendKeys("^c");
$kana = $CLIP->GetText();
if($kana == $kanji){
SendKeys("{F13}", 300);
SendKeys("{ESCAPE}", 200);
SendKeys("{ENTER}");
}
SendKeys("+{HOME}");
SendKeys("^c");
$kana = $CLIP->GetText();
SendKeys("{F13}", 300);
SendKeys("{ENTER}");
SendKeys("%y");
SendKeys("^v");