ControlClick do autohotkey, & Definir padrão não está funcionando?

0

Estou seguindo este incrível AutoHotkeyScript e tendo dificuldade em obter o botão Set Default para ser clicado.

off topic: Se você quiser replicar, eu tive que alterar alguns comandos para a detecção da janela de som para funcionar, então aqui é onde eu estou atualmente:

   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

agora, the AHK log mostra isso como executando:

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)

mas &Set Default não está sendo clicado. Eu verifiquei que o nome do botão é, na verdade, &Set Default . Eu acho que eu poderia usar o Button2 da ClassNN, mas eu gostaria de saber - por que - isso não está funcionando, não apenas hackear meu caminho.

Como alternativa, posso send [alt down]S[alt up] configurá-lo como padrão, mas novamente, isso é hackear e por que o simples ControlClick não está funcionando?

    
por paIncrease 23.07.2015 / 08:48

2 respostas

0

doh, parece que é um problema de sintaxe simples:

  1. você não precisa de um ponto e vírgula no final de cada linha
  2. você faz precisa de um delimitador de espaço entre o comando e o ponto e vírgula.

por exemplo, WinWait, Sound; é um problema, mas WinWait, Sound ; está correto.

    
por 23.07.2015 / 09:03
0

Para o ControlClick: Eu finalmente encontrei minha própria solução depois de vasculhar a documentação mais profundamente:

link

Você pode especificar NA como o sexto parâmetro a aguardar o botão do mouse ser levantado. Descobri que, ao disparar Control, Check, ,Button1 antes de ControlClick , o clique não funcionou, mas adicionar o NA ao final de alguma forma o corrigiu. Suponho que um clique estava sendo simulado e ainda não foi levantado.

    
por 21.11.2018 / 03:56