エゴサーチを普段からたしなむ人がいる。そのエゴサーチを楽にする方法を、AutoHotKey を使って作った。
背景
複数のブランド名のエゴサーチをする必要が出たため、いちいちキーワードを入力して検索していた。Google の検索はURL にキーワードを引数として受け渡せるので、キーワード検索結果ページをブックマークやタブを固定していつでも検索できるようにしてもよい。ただ、キーワードの足し引きの管理が面倒になると感じたので、AutoHotKey を使ってキーワード管理、および検索エンジン選択できるようにした。
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
;Firefox でエゴサーチ SetTitleMatchMode, 2 ; ウインドウ検索方法を中間一致にする WinActivate, Mozilla Firefox ;Firefox をアクティブにする #IfWinActive, Firefox IME_OFF() ; 検索例 Move_URL("桜の道", "Instagram") Move_URL("桜の道", "Twitter") Move_URL("桜の道", "Google") Move_URL("桜の道", "Facebook") #IfWinActive ExitApp ; アプリを終了 Exit ; AHK を終了 ; 指定されたURL を今のブラウザのタブで開く Move_URL(targetURL, site) { send, ^t ; 新しいタブを開く sleep,2000 searchURL := "" ; 検索用変数 If (site = "Google"){ searchURL := "https://www.google.co.jp/search?q=" . targetURL } Else If (site = "Facebook") { searchURL := "https://www.facebook.com/search/top/?q=" . targetURL } Else If (site = "Instagram") { searchURL := "https://www.instagram.com/explore/tags/" . targetURL . "/?hl=ja" } Else If (site = "Twitter") { searchURL := "https://twitter.com/search?q=" . targetURL } send, !d ; URL アドレスバーにフォーカスする sleep,200 send, %searchURL% ; ログインフォームを開く sleep,2000 send, {enter} sleep,2000 } ; ウインドウのIME を何が何でもOFF にする関数 IME_OFF() { sleep,4000 ;IME がON なら、OFF にする If (IME_IsON(WinExist("A"))) { IME_ON(WinExist("A"), False) sleep, 1000 ; この待機時間があると、IME が確実にOFFになる } } ; ウインドウのIME がON かOFF かを調べる関数 IME_IsON(hWindow) { ; WM_IME_CONTROL = 0x0283 ; IMC_GETOPENSTATUS = 0x0005 bufCurrentDetectMode := A_DetectHiddenWindows DetectHiddenWindows, On buf := DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow), "UInt", 0x0283, "Int", 0x0005, "Int", 0) DetectHiddenWindows, %bufCurrentDetectMode% Return buf } ;ウインドウのIME をON、 OFF にする関数 IME_ON(hWindow, IsON) { ; WM_IME_CONTROL = 0x0283 ; IMC_SETOPENSTATUS = 0x0006 bufCurrentDetectMode := A_DetectHiddenWindows DetectHiddenWindows, On buf := DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow), "UInt", 0x0283, "Int", 0x0006, "Int", IsON) DetectHiddenWindows, %bufCurrentDetectMode% Return buf } |
検索方法
MoveURL(“検索ワード”, “検索するウェブサービス名”)
検索するウェブサービス名:Google, Facebook, Instagram, Twitter
検索したいキーワードを続けて実行すると、次々にタブを開いて検索を実行していく
半角スペースを入れるときはAscii文字 “%20″を使う
例) “桜の道 リボン日記” → “桜の道%20リボン日記”
備考
- Facebook はログインしないと、検索結果が出ない
- Instagram はハッシュタグ検索を行っているだけなので、現状複数語の検索ができない
- Yahoo! やBing 検索も、同じ要領で機能追加できるだろう。ただ、Weibo はよくわからない(URL Encode が使われている様子がある。)
- ブラウザは使いなれているFirefox を使っているが、別のブラウザを使ってもよい