AutoHotKeyスクリプト例


はじめに

いまさらながらAutoHotKeyの便利さに気が付いたのでメモ

環境

Microsoft Windows [Version 10.0.14393.5006]
(2022年3月23日時点)
AutoHotKey 1.1.33.10

AutoHotKeyとは

キーボードのキーの割り当てを変更するアプリケーション。
スクリプトも書けるので、自動処理のようなこともできる。

ダウンロード

こちらから(https://www.autohotkey.com/)

ソース

sample.ahk
;←→↑↓
;無変換+hlkj
vk1D & h::send,{Blind}{Left}
vk1D & l::send,{Blind}{Right}
vk1D & k::send,{Blind}{Up}
vk1D & j::send,{Blind}{Down}

;Home,End
;無変換+,.
vk1D & vkBC::send,{Blind}{Home}
vk1D & vkBE::send,{Blind}{End}

;pageup,down
;無変換+u,o
vk1D & u::send,{Blind}{PgUp}
vk1D & o::send,{Blind}{PgDn}

;yyyy/mm/dd
^;::Send, %A_YYYY%/%A_MM%/%A_DD%

;hh:mm:ss
^vkBA::Send, %A_HOUR%:%A_Min%:%A_Sec%

; Excel使用時のみ有効
#ifWinActive ahk_exe EXCEL.EXE
    ;Excelで行選択(Shift + Space)を有効にする
	$+Space::
	    Flag := IME_Get()
	    
	    If (Flag)
	    {
	        Send,{vkF3sc029}
	        Sleep,30
	    }
	    
	    Send,+{Space}
	    Sleep,30
	    
	    If (Flag)
	    {
	        Send,{vkF3sc029}
	        Sleep,30
	    }
	    Return
	
	^+e::Send,!hac		;センタリング
	^+l::Send,!hl1		;左寄せ
	^+r::Send,!hr		;右寄せ
	^+0::Send,!wj		;拡大率100%に変更
	^vkBC::Send,!hk     ;位取り

#ifWinActive
    
; メモ
;特殊キー
;全角/半角						vkF3 または vkF4
;変換							vk1C
;無変換							vk1D
;カタカナ/ひらがな/ローマ字		vkF2

;修飾キー
;windows		#
;Alt			!
;Ctrl			^
;Shift			+

;IMEの状態取得
IME_Get()
{
	WinGet, vcurrentwindow, ID, A
	return  DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint", vcurrentwindow), "UInt", 0x0283, "Int", 0x0005, "Int", 0)
}	

使用方法

AutoHotKeyをインストーラから入れている場合は、任意の場所に保存して、xxxx.ahkファイル(スクリプトファイル)をダブルクリックすることで常駐する。常駐後はタスクトレイにアイコンが増えるので、それで確認できる。
zip版の場合、手動で関連付ける必要がある。関連付け後は、スクリプトファイルをダブルクリックすることで常駐する。