Post by Gio » 25 Jan 2018, 08:45
Bom dia VadoJMS.
Em relação à DÚVIDA [1], você pode usar o
comando Hotkey para criar hotkeys que possam ser habilitadas e desabilitadas. Abaixo, segue um exemplo, onde
são criadas duas hotkeys (chamadas pelas teclas a e b) através do comando Hotkey. Quando você pressiona a, o script escreve c e quando você pressiona b, o script escreve f. Mas se você pressionar Control + U o script desabilita as hotkeys (através de uma nova chamada ao comando Hotkey) fazendo com que a e b escrevam a e b mesmo.
Code: Select all
Hotkey, a, type_c
Hotkey, b, type_f
T := 1 ; Inicialmente, definimos uma variável de estado (ligado/desligado) que começa como "ligado".
Return
type_c:
Send c
Return
type_f:
Send f
return
^u::
T := !T ; Se a variável de estado estiver ligado, será desligada, e se estiver desligada, será ligada.
If T ; E se ela foi ligada na linha anterior...
{
TrayTip, Hotkeys, Hotkeys ON
Hotkey, a, type_c, On
Hotkey, b, type_f, On
}
else ; Mas do contrário (ou seja, se foi desligada...)
{
TrayTip, Hotkeys, Hotkeys OFF
Hotkey, a, type_c, Off
Hotkey, b, type_f, Off
}
Já em relação à DÚVIDA [2], o comando é o #IfWinActive mesmo, mas as vezes a forma como escrevemos o comando pode afetar o seu gatilho de ativação. A sugestão do juanmuscaria foi utilizar o título da janela como gatilho de ativação, mas se não funcionou, eu recomendo utilizar a
classe da janela. Abaixo segue um exemplo de uma hotkey F2 que só funciona na janela do bloco de notas (com gatilho através da classe de janela notepad).
Code: Select all
#IfWinActive , ahk_class Notepad
F2::
send OI ;o Oi só vai ser mandado se a janela ativa for do bloco de notas
Para encontrar a classe de uma janela alvo, você pode usar o comando
WinGetClass.
Bom dia VadoJMS.
Em relação à DÚVIDA [1], você pode usar o [url=https://autohotkey.com/docs/commands/Hotkey.htm]comando Hotkey[/url] para criar hotkeys que possam ser habilitadas e desabilitadas. Abaixo, segue um exemplo, onde
são criadas duas hotkeys (chamadas pelas teclas a e b) através do comando Hotkey. Quando você pressiona a, o script escreve c e quando você pressiona b, o script escreve f. Mas se você pressionar Control + U o script desabilita as hotkeys (através de uma nova chamada ao comando Hotkey) fazendo com que a e b escrevam a e b mesmo.
[code]Hotkey, a, type_c
Hotkey, b, type_f
T := 1 ; Inicialmente, definimos uma variável de estado (ligado/desligado) que começa como "ligado".
Return
type_c:
Send c
Return
type_f:
Send f
return
^u::
T := !T ; Se a variável de estado estiver ligado, será desligada, e se estiver desligada, será ligada.
If T ; E se ela foi ligada na linha anterior...
{
TrayTip, Hotkeys, Hotkeys ON
Hotkey, a, type_c, On
Hotkey, b, type_f, On
}
else ; Mas do contrário (ou seja, se foi desligada...)
{
TrayTip, Hotkeys, Hotkeys OFF
Hotkey, a, type_c, Off
Hotkey, b, type_f, Off
}[/code]
Já em relação à DÚVIDA [2], o comando é o #IfWinActive mesmo, mas as vezes a forma como escrevemos o comando pode afetar o seu gatilho de ativação. A sugestão do juanmuscaria foi utilizar o título da janela como gatilho de ativação, mas se não funcionou, eu recomendo utilizar a [i]classe da janela[/i]. Abaixo segue um exemplo de uma hotkey F2 que só funciona na janela do bloco de notas (com gatilho através da classe de janela notepad).
[code]#IfWinActive , ahk_class Notepad
F2::
send OI ;o Oi só vai ser mandado se a janela ativa for do bloco de notas[/code]
:arrow: Para encontrar a classe de uma janela alvo, você pode usar o comando [url=https://autohotkey.com/docs/commands/WinGetClass.htm]WinGetClass[/url].