在Autohotkey中,如果福昕阅读器处于活动状态,如何双击NumpadDot,否则发送正常的NumpadDot?
我的(破碎)尝试:
NumpadDot::
SetTitleMatchMode 2 ; allow partial titles
IfWinActive, Foxit
Click 2
else
Send {NumpadDot} ; THIS CREATES AN ENDLESS LOOP!
Return
答案 0 :(得分:1)
好吧,我会这样做:
SetTitleMatchMode 2 ; allow partial titles
#IfWinActive, Foxit ; Any hotkeys defined between #IfWInActive ONLY works in Foxit
NumpadDot::Click 2
#IfWinActive
哦,顺便说一句,无限循环是因为您的Send,{NumPadDot}启动了您自己的脚本。如果你想在热键之前阻止那个位置$ $ NumpadDot ::
答案 1 :(得分:1)
我推荐@ RobertIlbrink的答案,但这是另一种方法。
$NumpadDot::
IfWinActive, Foxit
Click 2
else
SendInput {NumpadDot}
return
$
阻止AutoHotkey将发送的击键(通过发送命令)与用户发出的按键混淆。如果我们不这样做,我们会得到一个无限循环。
答案 2 :(得分:0)
您不必拥有else语句:
NumpadDot::
SetTitleMatchMode 2 ; allow partial titles
IfWinActive, Foxit
Click 2
return
答案 3 :(得分:0)
我已经通过“ SendPlay”解决了这个问题,在此示例中,我有2个键盘,因此我使用keyboard1的{tab}进行Windows的{RAlt} {TAb}操作,而我使用主键盘的{tab}进行操作普通的东西
Tab::
getKeyboardID() ; AHKHID based routine
if(kbID = keyboard1){
send, {Ralt Down}{Tab}{RAlt Up}
} Else {
SendPlay {Tab} ; here the solution
}
Return