(AutoHotkey)(質問に対する回答)

 オヤジさんから 以下のような質問を頂きましたので
それを実現するスクリプトを考えてみました
AutoHotkeyを使い始めたばかりの者です。
XPのエクスプローラでフォルダを作成するショートカットキーを作りました。

#IfWinActive ahk_class CabinetWClass
^k::Send,!fwf
#IfWinActive

ですが、IMEがONの時には誤動作してしまいます。
そこでインターネットで調べていたら、ここにたどり着いたのですが、
公開された関数を使って、IMEのON/OFFにかかわらず上記の機能を実現するには
どのようにすればいいのが教えていただければありがたいです。
 質問では #IfWinActive で アクティブウインドウを 判断されていますが
個人的には ホットキーによる ルーチンの呼び出しの中で
アクティブなウインドウを判断する書き方が ほとんどなので
そのように 書き直させてもらいました
; Ctrl+kの時に呼び出されるルーチン
^k::
{
	; アクティブなウインドウのハンドルを取得する
	hWindow := WinExist("A")

	; 上で取得したハンドルから クラス名を取得する
	WinGetClass, ClassName, ahk_id %hWindow%

	; クラス名が「ExploreWClass」か「CabinetWClass」だったら 以下のブロックを実行
	If RegExMatch(ClassName, "ExploreWClass|CabinetWClass")
	{
		; IME_IsONユーザ関数 を 使って 現在の IMEのモードを保存する
		LastImeMode := IME_IsON(hWindow)

		; IME_ONユーザ関数 を 使って IMEのモードを強制的に OFFにする
		IME_ON(hWindow, False)

		; Alt+f、w、f と Sendする
		Send, {Alt Down}f{Alt Up}wf

		; 保存しておいた IMEのモードに戻す
		IME_ON(hWindow, LastImeMode)
	}
	Return
}
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(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
}
 とりあえず これで上手く行くかなと思います 笑)
もしも 思っていたのと違う場合は 追って コメントに書いてくださいです

ではでは