我正在跟进这个很棒的 AutoHotkeyScript并且很难点击Set Default
按钮。
off topic:
如果您想复制,我必须更改一些命令才能使声音窗口检测正常工作,因此这就是我目前的情况:
Run mmsys.cpl
IfWinNotActive, Sound, , WinActivate, Sound,
WinWait,Sound ; Change "Sound" to the name of the window in your local language
ControlSend,SysListView321,{Down 1} ; This number selects the matching audio device in the list, change it accordingly
Sleep, 100
ControlClick, &Set Default; Change "&Set Default" to the name of the button in your local language
Sleep, 100
;ControlClick,OK
现在,the AHK log
显示正在执行:
109: {
110: toggle := !toggle
112: if toggle
114: Run,mmsys.cpl
115: IfWinNotActive,Sound,l
115: WinActivate,Sound (0.03)
116: WinWait,Sound (0.31)
119: ControlSend,SysListView321,{Down 1} (0.01)
120: Sleep,100 (0.11)
121: ControlClick,&Set Default; Change "&Set Default" to the name of the button in your local language
122: Sleep,100 (0.11)
124: }
125: if !toggle
138: }
139: Return (6.74)
但&Set Default
未被点击。我已验证按钮名称实际上是。&Set Default
我想我可以使用 ClassNN 的Button2
,但我想知道 - 为什么 - 这不起作用,而不仅仅是破解它。
或者我可以send [alt down]S[alt up]
将其设置为默认值,但同样,这是黑客行为,为什么简单的 ControlClick 不起作用?
答案1
答案2
对于 ControlClick:在更彻底地浏览文档后,我终于找到了自己的解决方案:
https://autohotkey.com/docs/commands/ControlClick.htm#Reliability
您可以将 NA 指定为第六个参数,以等待鼠标按钮抬起。我发现在点击Control, Check, ,Button1
之前触发时ControlClick
不起作用,但将 添加到NA
末尾以某种方式神奇地解决了这个问题。我想这是模拟点击,但尚未抬起。