2017年4月4日火曜日

カーソル下単語(キーワード)から対応するサイトを一発で開く 検索

つまり、カーソル下単語が?となったとき、前に調べておいた?の単語の解説のページを
一発で開くようにする。

 以下の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 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ページ

Featured Posts