AutoHotkey

linguagem de programação

AutoHotkey é uma linguagem de script livre e de código aberto para Microsoft Windows, projetada principalmente para fornecer atalhos de teclado personalizados ou teclas de atalho, criação rápida de macros e automação de software, permitindo que usuários de qualquer nível de habilidade automatizem tarefas repetitivas em qualquer aplicativo do Windows. Ele pode facilmente estender ou modificar interfaces de usuário (por exemplo, substituindo os comandos padrão de tecla de controle do Windows por equivalentes do Emacs).[2] O pacote de instalação inclui um arquivo de ajuda extenso; documentação online também está disponível.[3]

AutoHotkey
Logótipo
AutoHotkey
Desenvolvedor Chris Mallett, Steve Gray
Sistema operacional Microsoft Windows
Gênero(s) Linguagem de script Automação GUI utilitário
Licença GPLv2[1]
Página oficial www.autohotkey.com

Recursos

editar

Os scripts AutoHotkey podem ser usados para iniciar programas, abrir documentos e emular digitação ou cliques e movimentos do mouse.[4] Eles também podem atribuir, recuperar e manipular variáveis, executar loops e manipular janelas, arquivos e pastas. Eles podem ser acionados por um atalho de teclado, como um script que abre um navegador de internet quando o usuário pressiona Ctrl+Alt+I no teclado. As teclas do teclado também podem ser remapeadas e desativadas, por exemplo, para que pressionar Ctrl+M produza um travessão na janela ativa.[5] AutoHotkey também permite "hotstrings" que automaticamente substituem certos textos à medida que são digitados, como atribuir a string "dnv" para produzir o texto "de novo" ou o texto "%de" para produzir "porcentagem de".[6] Scripts também podem ser configurados para rodar automaticamente no início do sistema, sem ação do teclado – por exemplo, para realizar gerenciamento de arquivos em intervalos definidos.[7]

Tarefas mais complexas podem ser alcançadas com formulários de entrada de dados personalizados (janelas GUI), manipulação do registro do sistema ou uso da API do Windows chamando funções de DLLs. Os scripts podem ser compilados em arquivos executávels independentes que podem ser executados em outros computadores sem o AutoHotkey instalado. O código-fonte em C++ pode ser compilado com o Visual Studio Express.

AutoHotkey permite o acesso à memória por meio de ponteiros, como em C.[8]

Alguns usos do AutoHotkey:

  • Remapear o teclado, como de QWERTY para Dvorak e outros layouts alternativos de layout do teclado
  • Usar atalhos para digitar nomes de arquivos e frases frequentemente usados
  • Digitar pontuação não disponível no teclado, como aspas curvas ()
  • Digitar outros caracteres não presentes no teclado, como o símbolo × usado para medidas dimensionais (por exemplo, 10′×12′)
  • Controlar o cursor do mouse com um teclado ou joystick
  • Abrir programas, documentos e sites com simples pressionamentos de tecla
  • Adicionar uma assinatura para e-mail, fóruns da internet, etc.
  • Monitorar um sistema e fechar automaticamente programas indesejados
  • Agendar lembretes automáticos, varreduras do sistema ou backup
  • Automatizar tarefas repetitivas
  • Preencher formulários automaticamente
  • Prototipar aplicações antes de implementá-las em outras linguagens de programação mais demoradas

Histórico

editar

A primeira versão pública beta do AutoHotkey foi lançada em 10 de novembro de 2003,[9] após a proposta de Chris Mallett de integrar suporte a tecla de atalho no AutoIt v2 não ter gerado resposta da comunidade AutoIt.[10][11] Mallett desenvolveu um novo programa do zero, baseando a sintaxe no AutoIt v2 e usando o AutoIt v3 para alguns comandos e o compilador.[12] Posteriormente, o AutoIt v3 mudou de GPL para código fechado devido a "outros projetos repetidamente pegando o código do AutoIt" e "se estabelecendo como concorrentes".[13]

Em 2010, o AutoHotkey v1.1 (originalmente chamado AutoHotkey_L) tornou-se a plataforma para o desenvolvimento contínuo do AutoHotkey.[14] Em 2012, ele se tornou o ramo oficial.[15] Outra versão do programa é AutoHotkey.dll.[16] Um fork conhecido do programa é AutoHotkey_H,[17][18] que tem seu próprio subfórum no site principal.[19]

Versão 2

editar

Em julho de 2021, foi lançada a primeira versão beta do AutoHotkey v2.[20][21] O primeiro candidato a lançamento foi lançado em 20 de novembro de 2022, com o lançamento completo da v2.0.0 planejado para mais tarde no mesmo ano.[22] Em 20 de dezembro de 2022, a versão 2.0.0 foi oficialmente lançada.[23] Em 22 de janeiro de 2023, o AutoHotkey v2 tornou-se a versão principal oficial. A versão v1.1 tornou-se legada e não foram implementados novos recursos, mas ainda era suportada pelo site.[24] Em 16 de março de 2024, foi lançada a última atualização do AutoHotkey v1.1, que agora atingiu o fim de seu ciclo de vida.[25]

Exemplos

editar

O seguinte script procura por uma palavra ou frase específica usando o Google. Após o usuário copiar o texto de qualquer aplicativo para a área de transferência, pressionar a tecla configurável Win+G abre o navegador da web padrão do usuário e realiza a pesquisa.

#g::Run "https://www.google.com/search?q=" . A_Clipboard

O script a seguir define uma hotstring que permite ao usuário digitar att em qualquer programa e, ao seguir com um caractere final, substitui automaticamente por "atenciosamente":

::att::atenciosamente

Recursos contribuídos pelos usuários

editar

Extensões, interops e bibliotecas de script em linha do AutoHotKey estão disponíveis para uso com e de outras linguagens de programação, incluindo:

Outros plugins principais permitem suporte para:

Malware

editar

Quando o AutoHotkey é usado para criar software autônomo para distribuição, esse software deve incluir a parte do próprio AutoHotkey que entende e executa scripts do AutoHotkey, pois é uma linguagem interpretada. Inevitavelmente, alguns malware foram escritos usando AutoHotkey.[41] Quando produtos anti-malware tentam identificar itens de malware que foram programados usando AutoHotkey, às vezes identificam erroneamente o AutoHotkey como o responsável em vez do próprio malware.[carece de fontes?]

Veja também

editar

Referências

  1. «Licença de Software». AutoHotkey. Consultado em 8 de junho de 2022. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 
  2. Contato Erica Sadun: Comentário (19 de agosto de 2005). «Ericasadun 2005 Life Hacker». Lifehacker.com. Consultado em 2 de dezembro de 2011 
  3. «Quick Reference | AutoHotkey». www.autohotkey.com 
  4. «AutoHotkey Tutorial: Macro and Hotkey Creation». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  5. «Remapping Keys and Buttons». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  6. «Hotstrings and Auto-replace (similar to AutoText and AutoCorrect)». Autohotkey.com. 9 de janeiro de 2005. Consultado em 2 de dezembro de 2011 
  7. «Hotkeys, Hotstrings, and Remapping». Autohotkey.com. Consultado em 23 de maio de 2018 
  8. «AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  9. «AutoHotkey Changelog for Years 2003-2004». Autohotkey.com. Consultado em 2 de dezembro de 2011. Arquivado do original em 4 de novembro de 2011 
  10. «Postagem do autor Chris Mallett nos Fóruns do AutoHotkey». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  11. «Uma comparação não funcional entre AutoIt e AutoHotkey». Paperlined.org. Consultado em 2 de dezembro de 2011. Arquivado do original em 8 de dezembro de 2011 
  12. «Postagem do autor Chris Mallett nos Fóruns do AutoHotkey». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  13. «Licensing Opinions - Fóruns AutoIt». Autoitscript.com. Consultado em 2 de dezembro de 2011 
  14. «Postagem no fórum por Chris, anunciando que AutoHotkey_L agora é a plataforma principal». Autohotkey.com. Consultado em 2 de dezembro de 2011 
  15. «Our History». The AutoHotkey Foundation. 26 de maio de 2014. Consultado em 23 de julho de 2016 
  16. «AutoHotekey.dll Module». github.io. Consultado em 13 de maio de 2017 
  17. «Fork Hotkeyit's AutoHotkey_H». GitHub 
  18. «Fork AutoHotkey_H de Thqby». GitHub 
  19. «Subfórum AutoHotkey_H». AutoHotkey.com 
  20. «AutoHotkey v2». AutoHotkey.com. Consultado em 28 de julho de 2021 
  21. «AutoHotkey v2.0-beta.1 - Comunidade AutoHotkey». www.autohotkey.com. Consultado em 11 de janeiro de 2022 
  22. «AutoHotkey v2.0-rc.1». AutoHotkey.com. Consultado em 20 de novembro de 2022 
  23. «AutoHotkey v2.0.0». AutoHotkey.com. Consultado em 20 de dezembro de 2022 
  24. «Anúncio oficial do lançamento do AutoHotkey v2». AutoHotkey.com 
  25. «End of Life: v1.1». AutoHotkey.com 
  26. «.NET Framework Interop - Scripts and Functions». AutoHotkey Community 
  27. «AHK + LUA Interop (stdlib), proof of concept - Scripts and Functions». AutoHotkey Community 
  28. «ahklisp: lisp on win32 with cffi, sbcl, and autohotkey - Scripts and Functions». AutoHotkey Community 
  29. «ahkecl : Embedded common lisp in ahk - Scripts and Functions». AutoHotkey Community 
  30. a b «Machine code functions: Bit Wizardry - Scripts and Functions». AutoHotkey Community 
  31. «Embedded Windows Scripting (VBScript & JScript) and COM - Scripts and Functions». AutoHotkey Community 
  32. «function hooks - Sugestões». AutoHotkey Community 
  33. «COM Standard Library - Scripts and Functions». AutoHotkey Community 
  34. «LibCon - AutoHotkey Library For Console Support - Scripts and Functions». AutoHotkey Community 
  35. «LowLevel & dynamic code - Scripts and Functions». AutoHotkey Community 
  36. «Suporte a Human Interface Device(HID)» 
  37. «Automação IE7 Navigation and Scripting with Tabs - Scripts and Functions». AutoHotkey Community 
  38. «:: SmartGUI Creator :: - Scripts and Functions». AutoHotkey Community 
  39. «Sparrow: AHK WebServer w/ AHK in HTML support (sources incl) - Scripts and Functions». AutoHotkey Community 
  40. «[ferramenta] WinEventHook Messages - Scripts and Functions». AutoHotkey Community 
  41. Pesquisa, Nocturnus Cybereason. «Fauxpersky: CredStealer malware escrito em AutoHotkey disfarçado como Kaspersky Antivirus, espalhando-se através da infecção de unidades USB». Consultado em 29 de março de 2018 

Ligações externas

editar