Ajuda para chamar uma função

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

fstninja
Posts: 1
Joined: 20 Oct 2019, 12:03
Facebook: FstGuilherme

Ajuda para chamar uma função

20 Oct 2019, 13:45

to tentando fazer meu script ler o arquivo que criei em .ini , e eu so consegui fazer ele ler com a função msgbox.
meu arquivo .ini esta assim

Code: Select all

q::Suspend
só que não estou conseguindo fazer ele ler esse code sem ser pelo msgbox
ta ai meu código
A função que quero fazer é para eu escolher a tecla desejada para suspender o script sem precisar compilar o script novamente!
oque eu queria alterar esta na linha 6 e 7 espero que me ajudem!

Code: Select all

#NoEnv
SendMode Input
_auto := true

~LButton::autofire()
+LButton::_auto := ! _auto
Fileread, test, seting.ini
msgbox, %test%
autofire()
{
global _auto
if _auto
{
Loop
{
if GetKeyState("LButton", "P")
{
Sleep 1
mouseXY(0, -2)
Fileread, test, seting.ini
Sleep 1
}
else
break
} ;; loop
} ;; if
} ;; autofire()

mouseXY(x,y)
{
DllCall("mouse_event",uint,1,int,x,int,y,uint,0,int,0)
}
User avatar
Gio
Posts: 687
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para chamar uma função

21 Oct 2019, 09:25

Bom dia fstninja.

Seja bem-vindo ao fórum da comunidade do AutoHotkey.

A função que quero fazer é para eu escolher a tecla desejada para suspender o script sem precisar compilar o script novamente!
Existem várias formas de fazer isso, mas antes de falarmos dela, é importante saber que o interpretador do AutoHotkey por padrão NÃO executa código dinâmico (ou seja, código escrito dentro de variáveis). Agora tendo dito isto, existem várias formas de fazer isso.

1. Usando #Include

:arrow: O #include te permite designar um arquivo cujo conteúdo será inserido na exata posição do comando. Como é uma diretiva pré-interpretação, este conteúdo pode conter códigos sem problema. Acredito que esta será a forma mais fácil de implementar o que você deseja. O único cuidado que você deve ter é que a diretiva só roda no início do script (ou seja, não servirá se você quiser alterar o arquivo da hotkey durante a execução do script principal).

2. Hotkeys dinâmicas usando o comando Hotkey

:arrow: Com o comando Hotkey é possível criar hotkeys dinâmicas. Vi que o código que você postou implementa exatamente isso, então veja que você poderia por exemplo escrever somente o nome da letra em um arquivo e depois fazer o script implementar a hotkey que estiver escrita no arquivo usando o comando Hotkey.

3. AutoHotkey_H

:arrow: A versão _H do autohotkey contém uma DLL que permite executar quantas chamadas com código AutoHotkey você precisar (embora elas não vão ser como um script só, mas o código pode ser executado sequencialmente).

4. Usando o comando Run

:arrow: Usando o comando Run você pode executar um script do AutoHotkey de dentro de outro script. Sendo assim, é possível executar um script diferente (dentre vários pré-escritos ou pós-escritos) conforme a letra escrita no arquivo. É possível também escrever o arquivo de dentro do script (usando FileAppend) e depois executá-lo em seguida usando o comando Run.



Acredito que com uma dessas opções você vai conseguir implementar o que deseja sem problemas. Se tiver alguma dificuldade, pode postar abaixo :thumbup:
tcanoas
Posts: 3
Joined: 01 Oct 2019, 09:35

Re: Ajuda para chamar uma função

22 Oct 2019, 14:50

Para ler arquivo ini, você pode aproveitar, e usar o que já existe aqui no próprio fórum.

Segue abaixo o link, de uma biblioteca para poder ler e gravar em arquivo ini:

https://autohotkey.com/board/topic/62917-ini-library-fast-in-memory-functions-no-regex/

Atenciosamente,
Tiago Canoas

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 7 guests