Boa tarde.
Tenho duas dúvidas.
DÚVIDA [1]
Fiz este script simples para trocar algumas teclas para quando eu for jogar:
Home::w
Insert::q
Delete::a
[...]
Para eu não precisar ficar pausando o jogo, caçar o script lá nos ícones da Barra de Tarefas e clicar em exit manualmente e depois abrir o script de novo... Gostaria de saber se existe algum código que eu posso adicionar ao script para ativar e desativar os comandos do script, apenas pressionando uma ou mais teclas.
Exemplo: aperto teclas x + u assim o script fica desativado. Aperto teclas x + h assim o script volta a ser ativado.
DÚVIDA [2]
Uma outra dúvida, peço que quem conseguir me responder, me esclareça sem misturar tudo com a pergunta de cima, por favor. Para eu não me confundir. Haha.
Tem como eu fazer com que um script funcione em apenas um programa específico? Como?
Ativar e Desativar script + Programa Específico Topic is solved
Moderator: Gio
- juanmuscaria
- Posts: 65
- Joined: 29 Oct 2017, 10:53
- Location: Brazil
- Contact:
Re: Ativar e Desativar script + Programa Específico
Boa tarde.
Ex:
Eu não sou profissional no AHK mas espero ter te ajudado
Bem é fácil fazer uma hotkey para pausar o script:VadoJMS wrote:DÚVIDA [1]
Code: Select all
Home::w
Insert::q
Delete::a
^u::pause ;Ctrl+U ira pausar o script,aperte novamente para voltar ao normal.
Ai você precisa usar o #IfWinActive.VadoJMS wrote:DÚVIDA [2]
Ex:
Code: Select all
#IfWinActive ,Sem Título - Bloco de notas
F1::
send OI ;o Oi só vai ser mandado se o bloco de notas estiver aberto
Re: Ativar e Desativar script + Programa Específico
Bom dia.
Infelizmente não deu certo comigo.
O primeiro código causou lentidão, não pausa. O segundo não abriu somente no programa específico, nem quando testei no Bloco de Notas.
Infelizmente não deu certo comigo.
O primeiro código causou lentidão, não pausa. O segundo não abriu somente no programa específico, nem quando testei no Bloco de Notas.
Re: Ativar e Desativar script + Programa Específico Topic is solved
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.
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).
Para encontrar a classe de uma janela alvo, você pode usar o comando WinGetClass.
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
}
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
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Re: Ativar e Desativar script + Programa Específico
Boa tarde, Gio.
Que legal!
• Sobre a DÚVIDA [1]
Precisei adicionar caractere unicode em algumas teclas, para um determinado programa. No tutorial que encontrei na internet eu tinha que fazer assim:
}
F1::
{
SendInput {①}
}
return
ScrollLock::
{
SendInput {§}
}
return
Insert::
{
SendInput {ﻨ}
}
return
Para pausar o script seria o mesmo processo que foi usado no exemplo das letras “a” e “b”? Tem como eu trocar por unicode de uma forma mais curta, sem precisar deixar entre chaves e todas essas quebras de linha?
• Sobre a DÚVIDA [2]
Eu coloquei #IfWinActive , ahk_class mais o nome do programa e assim deu certo. Muito obrigado! Só não entendi exatamente isso de encontrar a classe de uma janela alvo pelo comando WinGetClass.
Que legal!
• Sobre a DÚVIDA [1]
Precisei adicionar caractere unicode em algumas teclas, para um determinado programa. No tutorial que encontrei na internet eu tinha que fazer assim:
}
F1::
{
SendInput {①}
}
return
ScrollLock::
{
SendInput {§}
}
return
Insert::
{
SendInput {ﻨ}
}
return
Para pausar o script seria o mesmo processo que foi usado no exemplo das letras “a” e “b”? Tem como eu trocar por unicode de uma forma mais curta, sem precisar deixar entre chaves e todas essas quebras de linha?
• Sobre a DÚVIDA [2]
Eu coloquei #IfWinActive , ahk_class mais o nome do programa e assim deu certo. Muito obrigado! Só não entendi exatamente isso de encontrar a classe de uma janela alvo pelo comando WinGetClass.
Re: Ativar e Desativar script + Programa Específico
Seria mais ou menos o mesmo processo. Você só tem que garantir que o seu editor de texto está configurado para trabalhar em unicode e também que o seu script está sendo executado por uma versão unicode do AutoHotkey. Além disso, o aplicativo que vai receber os caracteres também tem que aceitar a digitação de caracteres unicode.Para pausar o script seria o mesmo processo que foi usado no exemplo das letras “a” e “b”? Tem como eu trocar por unicode de uma forma mais curta, sem precisar deixar entre chaves e todas essas quebras de linha?
A classe de uma janela nem sempre é o mesmo nome da janela. O comando WinGetClass permite que você encontre a classe da janela alvo a partir do nome da janela ou outra característica da mesma. Então, se você tem uma janela cujo título é "Janela Maçã" e você tentar usar em um comando o gatilho ahk_class Janela Maçã, o comando não vai funcionar. Nesse caso, o mais certo é antes de programar a tarefa, você verificar qual a classe da janela e se descobrir, por exemplo, que ela é chamada "AppleWin32", você depois deve usar essa informação para fazer o gatilho pela classe ahk_class AppleWin32.Só não entendi exatamente isso de encontrar a classe de uma janela alvo pelo comando WinGetClass.
Mas no seu caso, se funcionou usando o nome, é porque provavelmente deu sorte de esse ser esse o mesmo nome da classe de janela.
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Archmage Gray - A fantasy shooter game fully coded in AutoHotkey
Return to “Ajuda e Suporte Geral”
Who is online
Users browsing this forum: No registered users and 4 guests