Post by Gio » 09 Mar 2018, 17:21
Boa tarde Eduu.
Em relação ao envio de vários comandos de teclas virtuais (sequências longas) para automação de um programa, é relativamente comum que as primeiras tentativas de programar a rotina sejam infrutíferas. Isso ocorre porque programas podem ignorar envios de sinais de teclas em alguns casos. Será necesário então descobrir o caso específico e contorná-lo de alguma forma. Uma das tentativas que você pode fazer é exatamente o que você tentou: alguns programas exigem um tempo mínimo entre uma tecla e outra, e você pode ter que emular isso com o comando Sleep.
O comando Sleep funciona através da designação de um tempo de espera entre um comando e outro. O tempo indicado será contado em milisegundos (milésimos de segundos), portanto para fazer que o programa espere 1 segundo, deve-se indiciar o número 1000.
Sleep, 1000
Indicar um número menor significa que a pausa será apenas de uma fração de segundo. Dessa forma, você pode tentar aumentar o Sleep para 1000, 2000 ou até 3000, somente para ver se de fato a pausa maior funciona.
Mas se não funcionar, pode ser que outra situação esteja interferindo no comando. Uma possibilidade é que o comando F5 esteja sendo capturado por outro programa. Por exemplo, se você tiver um script com uma hotkey F5, ele pode bloquear o envio de um comando F5 para a janela ativa. Nesse caso, pode ser necessário resolver a condição que esteja bloqueando o envio antes (como finalizar o script com a hotkey F5).
Outra situação parecida é um programa onde o F4 abre um menu. Alguns programas podem ignorar teclas pressionadas quando um menu ou janela está aberto. Nesse caso, será preciso programar o fechamento da janela ou menu antes do envio do F5.
Enfim, trata-se de um trabalho investigativo, com muitas possibilidades de solução para muitos problemas diferentes. Mas se o programa está aceitando todas as teclas, exceto o F5, isto é um sinal de que deve ser possível resolver de alguma forma. Uma outra opção para verificar se o F5 não está sendo ignorado somente em determinados casos é programar uma hotkey (tipo Windows+Z) com o
Send {F5} e chamá-la em vários momentos da execução do programa, tentando descobrir em que momentos o programa aceita o {F5} e em que momentos ele o ignora.
Boa tarde Eduu.
Em relação ao envio de vários comandos de teclas virtuais (sequências longas) para automação de um programa, é relativamente comum que as primeiras tentativas de programar a rotina sejam infrutíferas. Isso ocorre porque programas podem ignorar envios de sinais de teclas em alguns casos. Será necesário então descobrir o caso específico e contorná-lo de alguma forma. Uma das tentativas que você pode fazer é exatamente o que você tentou: alguns programas exigem um tempo mínimo entre uma tecla e outra, e você pode ter que emular isso com o comando Sleep.
O comando Sleep funciona através da designação de um tempo de espera entre um comando e outro. O tempo indicado será contado em milisegundos (milésimos de segundos), portanto para fazer que o programa espere 1 segundo, deve-se indiciar o número 1000.
[c]Sleep, 1000[/c]
Indicar um número menor significa que a pausa será apenas de uma fração de segundo. Dessa forma, você pode tentar aumentar o Sleep para 1000, 2000 ou até 3000, somente para ver se de fato a pausa maior funciona.
Mas se não funcionar, pode ser que outra situação esteja interferindo no comando. Uma possibilidade é que o comando F5 esteja sendo capturado por outro programa. Por exemplo, se você tiver um script com uma hotkey F5, ele pode bloquear o envio de um comando F5 para a janela ativa. Nesse caso, pode ser necessário resolver a condição que esteja bloqueando o envio antes (como finalizar o script com a hotkey F5).
Outra situação parecida é um programa onde o F4 abre um menu. Alguns programas podem ignorar teclas pressionadas quando um menu ou janela está aberto. Nesse caso, será preciso programar o fechamento da janela ou menu antes do envio do F5.
Enfim, trata-se de um trabalho investigativo, com muitas possibilidades de solução para muitos problemas diferentes. Mas se o programa está aceitando todas as teclas, exceto o F5, isto é um sinal de que deve ser possível resolver de alguma forma. Uma outra opção para verificar se o F5 não está sendo ignorado somente em determinados casos é programar uma hotkey (tipo Windows+Z) com o [c]Send {F5}[/c] e chamá-la em vários momentos da execução do programa, tentando descobrir em que momentos o programa aceita o {F5} e em que momentos ele o ignora.
[code]#z::Send {F5}[/code]