AutoHotKey com melhor percepção do sono

1

Eu conheço o AutoHotKey e conheço o AutoScriptWriter, mas meu problema se resume ao tempo.

Estou tentando reproduzir a entrada do usuário em um aplicativo, mas o aplicativo às vezes tem um tempo de carregamento para algumas funções, outras vezes não. Basicamente, eu preciso ter um roteirista ciente de que, se eu não pressionar o botão do mouse por 5 segundos, o roteirista coloca um Sleep no script por 5 segundos, mas se eu esperar 10 segundos, ele coloca um Sleep no script por 10 segundos, e assim por diante. Neste momento o AutoScriptWriter coloca o Sleep 100 como padrão, que é muito curto e eu não quero passar pelo script manualmente depois de tentar me lembrar se esse clique deveria esperar 5 ou 10 segundos ou ter apenas um pequeno sono.

Obrigado a todos.

    
por ScottN 28.03.2011 / 23:23

2 respostas

0

tente   WinWaitActive , WindowTitleHere

.... ações aqui

Em seguida, não iniciará a ação até que o aplicativo esteja realmente carregado e ativo.

Na verdade, o AutoScriptWriter geralmente adiciona o comando WinWaitActive.

    
por 29.03.2011 / 11:09
0

Aqui está uma ideia para uma solução alternativa:

  • atribua a longa espera a um pressionamento de tecla "vazio" sem efeitos colaterais
  • enquanto grava a macro, adicione o pressionamento de tecla no local em que você precisa da pausa longa
  • depois de ter o script de macro, localize / substitua o pressionamento de tecla e substitua-o pela instrução para a longa espera, como Sleep 5000

Por "vazio" quero dizer uma tecla sem efeitos colaterais e sem impacto no espaço de trabalho do seu macro. Se fosse para alterar o item de menu selecionado ou posicionamento de tabulação ou ter quaisquer outros efeitos colaterais, o localizar / substituir dessa linha pode tornar o script inutilizável. Se você tiver problemas para encontrar um único pressionamento de tecla (como Alt-p ou qualquer outro), você também pode usar uma sequência que executa uma ação com um segundo pressionamento de tecla, como a digitação a seguida por um backspace.

Se você tiver vários comprimentos diferentes de pausas, poderá usar vários pressionamentos de teclas diferentes para diferentes comprimentos de espera. Basta encontrar / substituir cada um separadamente.

    
por 11.04.2011 / 19:40