プログラミング

AHK Autohotkey #If GetKeyState の使い方

Autohotkeyで#If GetKeyStateが使えると、このキーを押しながら…という操作を加えることができるため、ホットキーの登録数を格段に増やすことができます。

つまり、いままでは無変換キー+a~zやctrl+alt+a~zキー、少し押しにくくなりますがF1+a~z、など、ファンクションキーを含めても2030通りしかホットキーが登録できなかったのが、#If GetKeyStateを使うことで、全てのキーを最初に押しながら~という操作ができるようになり、+8030通り以上のホットキーが登録できるようになるわけです。しかも押しやすい。バグらない。

では、コードです。

注意点として、2点。

  1. READMEの通り、”a”をプレスしながら、“spaceキー”を押して、”ee”と入力することでEvernoteをアクティブウィンドウできます。
  2. ウィンドウをアクティブにするものなので、ウィンドウは予め起動して最小サイズにしておかないと動いてるのかわかりません
  3. リモートデスクトップしている場合は、ホストPCでスクリプトが発動してしまいます。(Googleリモートデスクトップの場合)
F1::Reload
; /*

/*

# README
## usage

 GetKeyState("a", "P")
 when while "a" downning,
    space+c+c key -> windows minimize.(close.)

*/

+Space::
    send, {U+0020} ;{space}
    ; send, {U+002D} ;"_"
Return


#If GetKeyState("a", "P")

        ;;evernote
        :*:ee::
        WinActivate, ahk_exe Evernote.exe
        WinWaitActive, ahk_exe Evernote.exe
        return

        ;;search
        :*:ss::
        WinActivate, ahk_exe Everything.exe
        WinWaitActive, ahk_exe Everything.exe
        return

        ;;foobar2000
        :*:ff::
        WinActivate, ahk_exe foobar2000.exe
        WinWaitActive, ahk_exe foobar2000.exe
        return

        ;;google translate
        :*:tt::
        WinActivate, ahk_exe QTranslate.exe
        WinWaitActive, ahk_exe QTranslate.exe
        return

#If

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です