1. ;■DbgMon

    #IfWinActive, ahk_class #32770

    ^D::

    Send, !FDN

    return

    ^S::

    Send, !OC

    return

    #IfWinActive

  2. ;■Windowの移動

    ;○画面端まで移動

    #Up::

    WinGetActiveTitle, Title

    WinGetPos,,,, Height, %Title%

    WinMove, %Title%,, , 0,

    return

    #Down::

    WinGetActiveTitle, Title

    WinGetPos,,,, Height, %Title%

    WinMove, %Title%,, , A_ScreenHeight - Height,

    return

    #Left::

    WinGetActiveTitle, Title

    WinMove, %Title%,, 0, ,

    return

    #Right::

    WinGetActiveTitle, Title

    WinGetPos,,, Width,, %Title%

    WinMove, %Title%,, A_ScreenWidth - Width,

    return

    ;○張り付く

    ^#Up::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinMove, %Title%,, 0, 0, A_ScreenWidth, A_ScreenHeight/2

    return

    ^#Down::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinMove, %Title%,, 0, A_ScreenHeight/2, A_ScreenWidth, A_ScreenHeight/2

    return

    ^#Left::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinMove, %Title%,, 0, 0, A_ScreenWidth/2, A_ScreenHeight

    return

    ^#Right::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinMove, %Title%,, A_ScreenWidth/2, 0, A_ScreenWidth/2, A_ScreenHeight

    return

    ^#Home::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinMove, %Title%,,,, A_ScreenWidth * 0.8, A_ScreenHeight * 0.8

    WinGetPos,,, Width, Height, %Title%

    WinMove, %Title%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2)

    return


    ;○その他

    #Home::

    WinGetActiveTitle, Title

    WinGetPos,,, Width, Height, %Title%

    WinMove, %Title%,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2)

    return

    #Enter::

    WinGetActiveTitle, Title

    WinMaximize %Title%

    return

    #BS::

    WinGetActiveTitle, Title

    WinRestore %Title%

    return

    #Ins::

    WinGetActiveTitle, Title

    WinMinimize %Title%

    return

    #PgUp::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinGetPos,,, Width, Height, %Title%

    WinMove, %Title%,,,, Width * 1.1, Height * 1.1

    return

    #PgDn::

    WinGetActiveTitle, Title

    WinRestore %Title%

    WinGetPos,,, Width, Height, %Title%

    WinMove, %Title%,,,, Width * 0.9, Height * 0.9

    return

    !vkf0sc03A::

    send !{F4}

    return

    #vkf0sc03A::

    send !{F4}

    return

    ^vkf0sc03A::

    send ^{F4}

    return

    #F4::

    send !{F4}

    return

    #End::

    send !{F4}

    return


    ;#Fをよく押すので・・・

    #F::

    send ^F

    return

    F1::

    send #{Tab}

    return

    #N::

    send !F!W!F

    return


    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

    }


    ; CapsLockで英語に切り替え

    vkf0sc03A::

    WinGetActiveTitle, Title

    IME_ON(WinExist(Title), False)

    return

    vk1Dsc07B::

    WinGetActiveTitle, Title

    IME_ON(WinExist(Title), True)

    return


    ; Note: From now on whenever you run AutoHotkey directly, this script

    ; will be loaded. So feel free to customize it to suit your needs.

    ; Please read the QUICK-START TUTORIAL near the top of the help file.

    ; It explains how to perform common automation tasks such as sending

    ; keystrokes and mouse clicks. It also explains more about hotkeys.