restringir comandos
Moderator: Gio
restringir comandos
Oi dá para deixar a ahk funcionar apenas em um software?
Re: restringir comandos
Boa tarde Amanda.
Seja bem-vinda ao fórum da comunidade do AutoHotkey.
Sim, existem várias maneiras de fazer isso. A mais usual é criar uma condicional pelo nome ou tipo de janela que estiver ativa no computador. Isso pode ser feito através do comando #If (se você deseja que hotkeys e hotstrings funcionem apenas se a condição imposta estiver satisfeita) ou então através de uma condicional simples (se você deseja que um bloco de códigos execute apenas se a condição imposta estiver satisfeita).
Por exemplo, se você quiser que a hotkey F2 funcione apenas se a tela do Bloco de Notas do windows estiver aberta, basta colocar algo do tipo:
Espero ter ajudado e sinta-se livre para perguntar novamente caso tenha outra dúvida
Seja bem-vinda ao fórum da comunidade do AutoHotkey.
Sim, existem várias maneiras de fazer isso. A mais usual é criar uma condicional pelo nome ou tipo de janela que estiver ativa no computador. Isso pode ser feito através do comando #If (se você deseja que hotkeys e hotstrings funcionem apenas se a condição imposta estiver satisfeita) ou então através de uma condicional simples (se você deseja que um bloco de códigos execute apenas se a condição imposta estiver satisfeita).
Por exemplo, se você quiser que a hotkey F2 funcione apenas se a tela do Bloco de Notas do windows estiver aberta, basta colocar algo do tipo:
Code: Select all
#If WinActive("ahk_class Notepad")
F2::
MsgBox, A tela do Bloco de Notas está ativa!
"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: restringir comandos
Exemplo: copiar texto e enviar para o bloco de notas
( não sei como usar o UTF-8 )
Exemple-1 test :
exemplo-2 ( alt+F5 )
( não sei como usar o UTF-8 )
Exemple-1 test :
Code: Select all
clipboard=
pr=notepad.exe
sc=ahk_exe notepad.exe
e4x=
(Ltrim Join`r`n
Marchas e casamentos na noite de Santo Antonio em Lisboa .
Mais de 1600 marchantes descem a Avenida da Liberdade.
No total, desfilam mais de 1600 marchantes.
Vamos ver de tudo um pouco:
arraiais e manjericos, varinas e fragateiros, tourada e fado, xailes e guitarras, vitrais, barbeiros.
Ler mais em: https://www.cmjornal.pt/sociedade/detalhe/marchas-e-casamentos-na-noite-de-santo-antonio-em-lisboa
)
clipboard=%e4x% ;- save to clipboard
IfWinNotExist,%sc%
{
Run, %pr%,,,pid1
scx:= "ahk_pid " . PID1
WinWait,%scx%
}
IfWinNotActive ,%scx%,,WinActivate,%scx%
WinWaitActive,%scx%
send,^v ;- send to notepad
clipboard=
return
esc::exitapp ; quit this script with escape
Code: Select all
clipboard=
pr=notepad.exe
sc=ahk_exe notepad.exe
;- hotkey F5
!F5::
sendinput, ^c ;- copy marked text
clipwait,2
IfWinNotExist,%sc%
{
Run, %pr%,,,pid1
scx:= "ahk_pid " . PID1
WinWait,%scx%
}
IfWinNotActive ,%scx%,,WinActivate,%scx%
WinWaitActive,%scx%
send,^v ;- send to notepad
clipboard=
return
esc::exitapp ; quit this script with escape
Re: restringir comandos
Tô lendo sobre janelas e encontrei divisão de janelas estou confusa o q é a classe de uma janela e como eu encontro? Achei WinGetClass e ñ entendi se deve colocar no script como comando para encontrar a classe da janela ou é apenas uma classificação, tem WinGetActiveTitle, WinGetActiveStats, WinGetPos, WinGetText eu ñ entendi. obrigada pela ultima resposta
Re: restringir comandos
clique direito 'Window spy' ( 'tray icon' para um script ahk iniciado )
ou test script ( mova o 'mouse' )
ou test script ( mova o 'mouse' )
Code: Select all
;- ahk_classx controlx togglex mousegetposx whilex
;-------- https://autohotkey.com/boards/viewtopic.php?f=5&t=12958 ---
Gui, +AlwaysOnTop
Gui, Add, Button, , reload
Gui, Add, Button, default , MouseGetPos
Gui, Show
run,notepad ; -for test
return
ButtonMouseGetPos:
MouseGetToggle := !MouseGetToggle
SetTimer, MouseGetCode, -1
Return
MouseGetCode:
While MouseGetToggle
{
MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
coordmode, Mouse, relative
MouseGetPos, xpos, ypos
coordmode, Mouse, screen
MouseGetPos, xxpos, yypos
ToolTip, ahk_id %id%`nahk_class %class%`nTitle: %title%`nControl: %control%`nX Y relative: %xpos% %ypos%`nX Y Screen: %xxpos% %yypos%
}
ToolTip
Return
Buttonreload:
reload
GuiClose:
GuiEscape:
ExitApp
Re: restringir comandos
Não entendo nada q o usuário garry fala, é spam??? Se alguém puder responder minha pergunta por favor vou repetir:
Tô lendo sobre janelas e encontrei divisão de janelas estou confusa o q é a classe de uma janela e como eu encontro? Achei WinGetClass e ñ entendi se deve colocar no script como comando para encontrar a classe da janela ou é apenas uma classificação, tem WinGetActiveTitle, WinGetActiveStats, WinGetPos, WinGetText eu ñ entendi. obrigada pela ultima resposta
Tô lendo sobre janelas e encontrei divisão de janelas estou confusa o q é a classe de uma janela e como eu encontro? Achei WinGetClass e ñ entendi se deve colocar no script como comando para encontrar a classe da janela ou é apenas uma classificação, tem WinGetActiveTitle, WinGetActiveStats, WinGetPos, WinGetText eu ñ entendi. obrigada pela ultima resposta
Re: restringir comandos
@Amanda, no spam
desculpe , eu não falo português, Gio (ou outros) pode ajudar
desculpe , eu não falo português, Gio (ou outros) pode ajudar
Re: restringir comandos
Bom dia Amanda.Amanda wrote:ô lendo sobre janelas e encontrei divisão de janelas estou confusa o q é a classe de uma janela e como eu encontro? Achei WinGetClass e ñ entendi se deve colocar no script como comando para encontrar a classe da janela ou é apenas uma classificação, tem WinGetActiveTitle, WinGetActiveStats, WinGetPos, WinGetText eu ñ entendi. obrigada pela ultima resposta
A classe de janela é uma das características das janelas do windows. Cada janela tem uma classe e embora duas ou mais janelas possam ter a mesma classe, se você tiver um certo controle das condições em que será rodado seu código, a classe pode ser usada relativamente bem para referir comandos a uma janela em particular.
Por exemplo, as janelas do Bloco de Notas tem a classe Notepad. Por isso, quando preciso escrever um comando que deve interagir com uma janela do Bloco de Notas e esse comando me permite indicar uma classe de janelas como forma de definir a janela alvo, eu posso escrever ahk_class Notepad. Isso não é obrigatório, é apenas uma opção: você ainda poderia ter se referido à janela pelo título, por exemplo.
O comando WinGetClass é somente um comando que permite obter a classe da janela alvo a partir do título dela, por exemplo. Ele vai ser útil se a obtenção da classe tiver de ser feita dentro do código (ou seja, se você não tiver como saber antecipadamente qual a classe da janela alvo).
Existem formas de se obter a classe de uma janela antecipadamente. Uma delas é a seguinte:
- 1. Execute um script do AutoHotkey que tenha uma hotkey ou Gui (de modo que ele não finalize automaticamente).
2. Procure pelo ícone do H verde no canto inferior direito da sua tela (ou seja, na bandeja do tray). É possível que você tenha que clicar primeiro na seta para mostrar os ícones ocultos para poder ver o H verde.
3. Clique com o botão direito do mouse nesse ícone de H verde.
4. No menu que se abre, clique em "Window Spy". O Window Spy é uma janela com a caraterística de ser sempre visível, e ela mostra alguns dados sobre a janela e controles que você estiver interagindo. Por exemplo, se você abrir o Window Spy e depois clicar na janela do navegador, ele vai te mostrar informações sobre a janela do navegador, inclusive a classe da 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 6 guests