2017-02-26 563 views
0

我現在使用.ahk有幾天了,與它合作很酷。 我試着說,如果CapsLock被激活,我的代碼運行/否。 下面的代碼檢查CapsLock是否在這一刻(工作)被按下。AutoHotkey(.ahk)。大寫鎖定已啓用

GetKeyState, CapLck, CapsLock, P 
if (CapLck == "D") { 
some statement 
} 

我想改變,如果我點擊的CapsLock一旦其被激活 - 當我再次按下它,它停用。

我的研究發現,GetKeyState,CapLck,CapsLock,P中的參數P檢查CapsLock是否在此時被物理單擊。如果這是真的,它將返回用於檢查下面的if語句的D.

所以,我想從

GetKeyState, CapLck, CapsLock, P 
if (CapLck == "D") { 
some statement 
} 

更改代碼這個

GetKeyState, CapLck, CapsLock, T 
if (CapLck == 1) { 
some statement 
} 

如果我讀函數GetKeyState文檔的權利,如果大寫鎖定是否激活參數T檢查。如果激活,則返回1爲真; 0爲假。

可悲的是我的更改不適用,它不起作用。有任何想法嗎?

謝謝。

回答

0

爲了檢查是否大寫鎖定被激活或不簡單地改變

GetKeyState, CapLck, CapsLock, P 
if (CapLck == "D") { 
some statement 
} 

GetKeyState, CapLck, CapsLock, T 
if (CapLck == "D") { 
some statement 
} 

與此相反的AutoHotkey的文檔的參數T給出「D」爲真不是1.

0

嘗試這種情況:

#If GetKeyState("CapsLock", "T") ; If Capslock is On 
    a::MsgBox % "CAPSLOCK IS ON" 
#If 

a::MsgBox % "CAPSLOCK IS OFF" 
+0

我不知道如何實現這一點。喜歡這個? #如果GetKeyState(「CapsLock」,「T」);如果Capslock處於開啓狀態 Cnt:= 60 – piguy