Re: [AHK-] 若輸入法開啟,關閉輸入法

看板EzHotKey作者 (:~)時間13年前 (2012/10/12 21:23), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《logs ( )》之銘言: : 請問要如何讓 AutoHotkey 可以偵測目前的輸入法狀態是否開啟 : 如果開啟的話 --> 關閉輸入法 : 如果沒開啟 --> 不做任何事 IME_STATUS(hWindow) { IMEWnd := DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow) buf := DllCall("user32.dll\SendMessageA", "UInt", IMEWnd, "UInt", 0x0283, "Int", 0x0005, "Int", 0) Return buf } IME_ON(hWindow, ON) { IMEWnd := DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow) buf := DllCall("user32.dll\SendMessageA", "UInt", IMEWnd, "UInt", 0x0283, "Int", 0x0006, "Int", ON) Return buf } ; WM_IME_CONTROL = 0x0283 ; IMC_GETOPENSTATUS = 0x0005 ; IMC_SETOPENSTATUS = 0x0006 以上斷行部份自行接上 使用範例: F12:: DetectHiddenWindows, On ;必要 hWindow := WinExist("A") If (IME_STATUS(hWindow)==1) IME_ON(hWindow, False) Return 以上於 Win7(x64) + AHK_L 測試 輸入法停在新注音模式時使用後會切到"A",不過我本身是用嘸蝦米...沒反應... ImmGetDefaultIMEWnd http://msdn.microsoft.com/en-us/library/windows/desktop/dd318561(v=vs.85).aspx WM_IME_CONTROL http://msdn.microsoft.com/en-us/library/windows/desktop/dd374135(v=vs.85).aspx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.4.24

10/13 03:36, , 1F
非常感謝!
10/13 03:36, 1F

11/02 22:01, , 2F
我的就是嘸蝦米所以一般用法就沒反應,很傷惱筋
11/02 22:01, 2F
文章代碼(AID): #1GU1dJ3q (EzHotKey)
討論串 (同標題文章)
文章代碼(AID): #1GU1dJ3q (EzHotKey)