PressIt! もどき

スクリプトフォルダ整理してきたら出てきた。前に2ちゃんのAutoHotKey Threadに貼った奴、の見た目改良版。もしくはCheckBoxをトグルボタンにするサンプルとでも。コントロール系のスタイルはほとんどノーチェックだったので最近までこういうのできるって知らなかったのよ。

 ;---- PressIt.Ahk ----
autoexecute:
    gui,add,checkbox,-Wrap GPressIt 0x00001000 X1  Y3 W60 H20 , SHIFT
    gui,add,checkbox,-Wrap GPressIt 0x00001000 X61 Y3 W60 H20 , CTRL
    gui,+AlwaysOnTop -MaximizeBox -MinimizeBox ToolWindow
    gui,show, w125 h25 ; , Status & Toggle
    settimer,keywatch,100
return

keywatch:  ;Shift,Ctrl押下監視
    GuiControl,,SHIFT,% GetKeyState("Shift")
    GuiControl,,CTRL, % GetKeyState("Ctrl")
return

PressIt:  ;ボタン押下で Shift or Ctrl ON/OFFトグル
    ToggleKey(A_GuiControl)
return

ToggleKey(keyname)  ;キーの押下状態を反転する関数
{
    if (GetKeyState(keyname))
        Send,{%keyname% Up}
    else
        Send,{%keyname% Down}
}

GuiClose:  ;押下状態にあるキーを解除してスクリプト終了
    if (!GetKeyState(Shift,"P"))
        Send,{Shift Up}
    if (!GetKeyState(Ctrl,"P"))
        Send,{Ctrl Up}
    exitapp