つまり、カーソル下単語が?となったとき、前に調べておいた?の単語の解説のページを
一発で開くようにする。
以下のkeylog..exe send_firefox.vbs を作成。
MouseEmulator.dll を://3rd.geocities.jp/kaito_extra/Source/MouseCtrl.html
からDLして、keylog.exe と同じフォルダに入れておく。
vbsからマウス操作をするため。
で keylog.exe 起動。 f9 で単語選択 f2でその単語で検索される
firefoxで その単語でキーワード設定しておけば 該当するページがすぐに見られる。
私の環境では アドオンのHYPER-ANCHORでもキーワード設定は有効なので
けっこう便利だと思う。 ただキーワード設定がすこし面倒。
/*
keylog..cpp
参考サイト
簡単なキーロガー その1
http://tailcodenote.shisyou.com/code/cpp/004.html
システム全体で特定のキーが押されているかを調べる
http://7ujm.net/C++/GetKey.html
キーコード一覧
http://invest.nm.land.to/program/GetAsyncKeyState.html
MouseEmulator.dllをダウンロードしたサイト
WSH JScriptを使いこなそう ~マウス操作~
http://3rd.geocities.jp/kaito_extra/Source/MouseCtrl.html
*/
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
int main(void)
{
bool flg1 = true;
while(flg1){
//f9で単語上で左ダブルクリックさせ単語選択する
if (GetAsyncKeyState(120) & 0x0001){
printf("f9\n");
system("rundll32.exe MouseEmulator.dll, _DoubleClickLeft@16");
}
//if ( (GetAsyncKeyState(VK_RETURN & 0x0001)) && (flg2 == true) ){
//f2でvbs起動
//上で単語選択後、firefoxで検索 特定ページにキーワード設定し
//ておけば一発で開けられる
if (GetAsyncKeyState(113) & 0x0001){
printf("f2\n");
system("cscript L:/goolgedrive/myprg_main/vbs/send_firefox.vbs");
}
//shift-ctrlで終了する
if( (GetAsyncKeyState(VK_SHIFT) & 0x8000) && (GetAsyncKeyState(VK_CONTROL) & 0x8000)) flg1 = false;
Sleep(10);
}
return 0;
}
'sed_firefox.vbs
'Option Explicit
'Dim による変数宣言が必須となる。つまり変数名による
'予想外のエラーを回避するため
Option Explicit
Dim objShell
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.SendKeys ("^c")
WScript.Sleep(1000)
'私のFirefoxはsandboxieで開いているため[#]がついている
objShell.AppActivate("Firefox [#]")
WScript.Sleep(1000)
objShell.SendKeys ("^t")
WScript.Sleep(1000)
objShell.SendKeys ("^l")
WScript.Sleep(1000)
objShell.SendKeys ("^v")
WScript.Sleep(1000)
objShell.SendKeys ("{ENTER}")
WScript.Sleep(1000)
''オブジェクトの開放
Set objShell = Nothing
0 件のコメント:
コメントを投稿