restringir comandos

Pergunte suas dúvidas de programação em AutoHotkey
Amanda
Posts: 3
Joined: 16 May 2018, 11:01

restringir comandos

11 Jun 2018, 18:56

Oi dá para deixar a ahk funcionar apenas em um software?
User avatar
Gio
Posts: 422
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: restringir comandos

12 Jun 2018, 14:57

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:

Code: [Select all] [Download] GeSHi © Codebox Plus

#If WinActive("ahk_class Notepad")
F2::
MsgBox, A tela do Bloco de Notas está ativa!


Espero ter ajudado e sinta-se livre para perguntar novamente caso tenha outra dúvida :thumbup:
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
garry
Posts: 1330
Joined: 22 Dec 2013, 12:50

Re: restringir comandos

12 Jun 2018, 16:25

Exemplo: copiar texto e enviar para o bloco de notas
( não sei como usar o UTF-8 )

Exemple-1 test :

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus



exemplo-2 ( alt+F5 )

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

Amanda
Posts: 3
Joined: 16 May 2018, 11:01

Re: restringir comandos

15 Jun 2018, 12:25

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
garry
Posts: 1330
Joined: 22 Dec 2013, 12:50

Re: restringir comandos

15 Jun 2018, 15:11

clique direito 'Window spy' ( 'tray icon' para um script ahk iniciado )
ou test script ( mova o 'mouse' )

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

Amanda
Posts: 3
Joined: 16 May 2018, 11:01

Re: restringir comandos

16 Jun 2018, 11:21

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
garry
Posts: 1330
Joined: 22 Dec 2013, 12:50

Re: restringir comandos

17 Jun 2018, 09:50

@Amanda, no spam
desculpe , eu não falo português, Gio (ou outros) pode ajudar
User avatar
Gio
Posts: 422
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: restringir comandos

18 Jun 2018, 10:38

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


Bom dia Amanda.

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).

:arrow: 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 !!

Return to “Eu preciso de ajuda”

Who is online

Users browsing this forum: No registered users and 12 guests