Я слежу за этим потрясающим 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 . Думаю, я мог бы использовать Class2N Button2 , но я хотел бы знать - почему это не работает, а не просто взломать мой путь через это.

В качестве альтернативы я могу send [alt down]S[alt up] чтобы установить его по умолчанию, но опять же, это взлом, и почему не работает простой ControlClick?

2 ответа2

0

похоже, это простая проблема синтаксиса:

  1. вам не нужна точка с запятой в конце каждой строки
  2. Вы действительно нуждаетесь в пространстве разделителем между командой и точкой с запятой.

например, WinWait, Sound; это проблема, но WinWait, Sound ; верно.

0

Для ControlClick: я наконец нашел свое собственное решение после более тщательного просмотра документации:

https://autohotkey.com/docs/commands/ControlClick.htm#Reliability

Вы можете указать NA в качестве шестого параметра для ожидания нажатия кнопки мыши. Я обнаружил, что при срабатывании Control, Check, ,Button1 до ControlClick щелчок не работал, но добавление NA к концу каким-то волшебным образом исправило его. Я предполагаю, что щелчок моделировался и еще не был отменен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .