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
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
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
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
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
Bom dia fstninja.
Seja bem-vindo ao fórum da comunidade do AutoHotkey.
[quote]A função que quero fazer é para eu escolher a tecla desejada para suspender o script sem precisar compilar o script novamente![/quote]
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 [url=https://www.autohotkey.com/docs/commands/_Include.htm]#include[/url] 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 [url=https://www.autohotkey.com/docs/commands/Hotkey.htm]comando Hotkey[/url] é 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 [url=https://www.autohotkey.com/docs/commands/Run.htm]comando Run[/url] 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: