请输入您要查询的百科知识:

 

词条 AutoHotkey
释义

  1. Features

  2. History

  3. Examples

  4. Community

  5. User-contributed features

  6. Malware

  7. See also

  8. References

  9. External links

{{About||the use of AutoHotkey by Wikipedia editors|:Wikipedia:AutoHotkey}}{{Infobox software
| name = AutoHotkey
| logo = AutoHotkey logo.png
| screenshot =
| caption =
| developer = Chris Mallett, Steve Gray
| released = {{Start date and age|2008|7|18}}[1][2]
| latest_release_version = 1.1.30.01
| latest_release_date = {{release date and age|2018|11|11}}[3]
| latest preview version = 2.0-a100
| latest preview date = {{Start date and age|2018|10|05}}[4]
| operating_system = Microsoft Windows
| genre = Scripting language Automation GUI utility
| license = GPL
| website = {{URL|autohotkey.com}}
}}AutoHotkey is a free, open-source custom scripting language for Microsoft Windows, initially aimed at providing easy keyboard shortcuts or hotkeys, fast macro-creation and software automation that allows users of most levels of computer skill to automate repetitive tasks in any Windows application. User interfaces can easily be extended or modified by AutoHotkey (for example, overriding the default Windows control key commands with their Emacs equivalents).[5] The AutoHotkey installation includes its own extensive help file, and web-based documentation is also available.[6]

Features

AutoHotkey scripts can be used to launch programs, open documents, emulate keystrokes, Unicode characters, and mouse clicks and movements.[7] AutoHotkey scripts can also assign, retrieve, and manipulate variables, run loops and manipulate windows, files, and folders. These commands can be triggered by a hotkey, such as a script that would open an internet browser whenever the user presses {{key press|Ctrl|Alt|I}} on the keyboard. Keyboard keys can also be remapped or disabled, such that pressing {{key press|Ctrl|N}}, for example, might result in the active window receiving an en dash (–), or nothing at all.[8] AutoHotkey also allows for 'hotstrings' that will automatically replace certain text as it is typed; the most typical use for hotstrings is expanding abbreviations, such as assigning the string "btw" to produce the text "by the way" when typed, or the text "%o" to produce "percentage of".[9] Further, some scripts can be initiated automatically at computer startup and need not interact with the keyboard at all, perhaps performing file manipulation at a set interval.[10]

More complex tasks can be achieved with custom data entry forms (GUI windows), working with the system registry, or using the Windows API by calling functions from DLLs. The scripts can be compiled into an executable file that can be run on other computers that do not have AutoHotkey installed. The source code is in C++ and can be compiled with Visual Studio Express.

Memory access through pointers is allowed just as in C.[11]

Some uses to which AutoHotkey can be put:

  • Remapping the keyboard, such as from QWERTY to Dvorak or other alternative keyboard layouts.
  • Using shortcuts to fill in frequently-used file names or other phrases.
  • Typing punctuation not provided on the keyboard, such as curved quotes ().
  • Controlling the mouse cursor with a keyboard or joystick.
  • Opening programs, documents, and websites with simple keystrokes.
  • Adding a signature to e-mail, message boards, etc.
  • Monitoring a system and automatically closing unwanted programs.
  • Scheduling an automatic reminder, system scan, or backup.
  • Automating repetitive tasks.
  • Filling out contest and freebie forms automatically (i.e., it can type in your name, address, etc. automatically).
  • Prototyping before implementing in another, more time consuming, programming language.

History

The first public beta of AutoHotkey was released on November 10, 2003[12] after author Chris Mallett's proposal to integrate hotkey support into AutoIt v2 failed to generate response from the AutoIt community.[13][14] So the author began his own program from scratch basing the syntax on AutoIt v2 and using AutoIt v3 for some commands and the compiler.[15] Later, AutoIt v3 switched from GPL to closed source because of "other projects repeatedly taking AutoIt code" and "setting themselves up as competitors."[16]

In 2010, AutoHotkey v1.1 (originally called AutoHotkey_L) became the platform for ongoing development of AutoHotkey.[17] Another port of the program is AutoHotkey.dll.[18]

Examples

The following script will allow a user to search for a particular word or phrase using Google. After copying text from any application to the clipboard, pressing the configurable hotkey {{key press|Win|G}} will open the user's default web browser and perform the search.

  1. g::Run http://www.google.com/search?q=%clipboard%

The following script defines a hotstring that enables the user to type "afaik" in any program and have it automatically replaced with "as far as I know":

afaik::as far as I know

The example below makes {{keypress|Ctrl|Shift|Q}} replace selected text in an editor with a quoted version of that text. It illustrates the use of functions, arguments and default argument values.

^+q::QuoteSelection() ; Ctrl+Shift+Q

QuoteSelection()

{

selection:= GetSelection() ; Get selected text.

PasteText(Quote(selection)) ; Quote the text and paste it back.

}

GetSelection(timeoutSeconds:= 0.5)

{

Clipboard:= "" ; Clear clipboard for ClipWait to function.

Send ^c ; Send Ctrl+C to get selection on clipboard.

ClipWait %timeoutSeconds% ; Wait for the copied text to arrive at the clipboard.

return Clipboard

}

PasteText(s)

{

Clipboard:=s ; Put the text on the clipboard.

Send ^v ; Paste the text with Ctrl+V.

}

Quote(s)

{

return """" . s . """"

}

Community

The online community forum for AutoHotkey has around 24,000 registered users and around 194,000 posts as of May 2018.[19]

The online chat room for AutoHotkey is located on Freenode IRC with an average of 40 connected users as of February 2008.[20]

The administration of the official site has had many changes over its history.[21][22][23]

User-contributed features

There are extensions/interops/inline script libraries available for usage with/from other programming languages:

  • VB/C# (.NET)[24]
  • Lua[25]
  • Lisp[26]
  • ECL[27]
  • VBScript/JScript (Windows Scripting Host)[28]
  • Embedded machine code[29]

Other major plugins enable support for:

  • Aspect-oriented programming
    • Function hooks[30]
  • COM wrappers[31]
  • Console interaction[32]
  • Dynamic code generation[33]
  • HIDs[34]
  • Internet Explorer automation[35]
  • GUI creation[36]
  • Web services[37]
  • Synthetic programming[38]
  • Windows event hooks[39]

Malware

When AutoHotkey is used to make self-contained software for distribution, that software must include the part of AutoHotkey itself that understands and executes AutoHotkey scripts, as it is an interpreted language. Inevitably, some malware has been written using AutoHotkey.[40] When anti-malware products attempt to earmark items of malware that have been programmed using AutoHotkey, they sometimes falsely identify AutoHotkey as the culprit rather than the actual malware.[41][42][43][44][45][46][47]

See also

{{Portal|Free and open-source software}}
  • AutoIt (for Windows)
  • KiXtart (for Windows)
  • Winbatch (for Windows)
  • Macro Express (for Windows)
  • Bookmarklet (for web browsers)
  • iMacros (for Firefox, Chrome, and Internet Explorer)
  • AutoKey (for Linux)
  • Automator (for Macintosh)
  • Keyboard Maestro (for Macintosh)

References

1. ^{{cite web |url=https://www.autohotkey.com/docs/AHKL_ChangeLog.htm#L4 |title=Changes & New Features AutoHotkey (sorted by date)}}
2. ^{{cite web |url=https://github.com/Lexikos/AutoHotkey_L/releases/tag/L4 |title=L4 Source Code (sorted by date)}}
3. ^{{cite web |url=https://autohotkey.com/download |title=AutoHotkey Downloads}}
4. ^{{cite web |url=https://autohotkey.com/download/2.0/?C=M;O=D |title=AutoHotkey v2 Downloads (sorted by date)}}
5. ^{{cite web|author=Contact Erica Sadun: Comment |url=http://lifehacker.com/software/software/download-of-the-day-autohotkey-118270.php |title=Ericasadun 2005 Life Hacker |publisher=Lifehacker.com |date=2005-08-19 |accessdate=2011-12-02}}
6. ^https://autohotkey.com/docs/AutoHotkey.htm
7. ^{{cite web|url=http://www.autohotkey.com/docs/Tutorial.htm |title=AutoHotkey Tutorial: Macro and Hotkey Creation |publisher=Autohotkey.com |date= |accessdate=2011-12-02}}
8. ^{{cite web|url=http://www.autohotkey.com/docs/misc/Remap.htm |title=Remapping Keys and Buttons |publisher=Autohotkey.com |date= |accessdate=2011-12-02}}
9. ^{{cite web|url=http://www.autohotkey.com/docs/Hotstrings.htm |title=Hotstrings and Auto-replace (similar to AutoText and AutoCorrect) |publisher=Autohotkey.com |date=2005-01-09 |accessdate=2011-12-02}}
10. ^{{cite web|url=https://autohotkey.com/docs/FAQ.htm#Startup |title=Hotkeys, Hotstrings, and Remapping |publisher=Autohotkey.com |accessdate=2018-05-23}}
11. ^{{cite web|url=http://www.autohotkey.com/changelog/ |title=AutoHotkey Changes and New Features, v1.0.47 - June 19, 2007 |publisher=Autohotkey.com |date= |accessdate=2011-12-02}}
12. ^{{cite web|url=http://www.autohotkey.com/changelog/2004.htm |title=AutoHotkey Changelog for Years 2003-2004 |publisher=Autohotkey.com |date= |accessdate=2011-12-02 |deadurl=yes |archiveurl=https://web.archive.org/web/20111104142142/http://www.autohotkey.com/changelog/2004.htm |archivedate=2011-11-04 }}
13. ^{{cite web|url=http://www.autohotkey.com/forum/viewtopic.php?p=20176#20176 |title=Author Chris Mallett's post on the AutoHotkey Forums |publisher=Autohotkey.com |date= |accessdate=2011-12-02}}
14. ^{{cite web|url=http://paperlined.org/apps/autohotkey/autoit_and_autohotkey.html |title=An AutoIt / AutoHotkey nonfunctional comparison |publisher=Paperlined.org |date= |accessdate=2011-12-02}}
15. ^{{cite web|url=http://www.autohotkey.com/forum/viewtopic.php?p=19710#19710 |title=Author Chris Mallett's post on the AutoHotkey Forums |publisher=Autohotkey.com |date= |accessdate=2011-12-02}}
16. ^{{cite web|url=http://www.autoitscript.com/forum/index.php?showtopic=7204 |title=Licensing Opinions - AutoIt Forums |publisher=Autoitscript.com |date= |accessdate=2011-12-02}}
17. ^{{cite web|url=http://www.autohotkey.com/forum/viewtopic.php?t=63474 |title=Forum post by Chris, announcing AutoHotkey_L now main platform |publisher=Autohotkey.com |accessdate=2011-12-02}}
18. ^{{cite web |url=https://hotkeyit.github.io/v2/docs/AutoHotkeyDll.htm |title=AutoHotekey.dll Module |website=github.io |accessdate=13 May 2017}}
19. ^{{Cite web|url=https://autohotkey.com/boards/index.php|title=AutoHotkey Community - Index page|last=|first=|date=|website=autohotkey.com|at=Statistics section, near the bottom of the page|language=en-gb|archive-url=|archive-date=|dead-url=|access-date=2018-05-22}}
20. ^{{cite web|url=https://autohotkey.com/board/topic/25859-live-chat-instant-autohotkey-help-just-add-water#post_id_167176|title=[Live Chat] Instant AutoHotkey help! Just add water...|last=|first=|date=5 February 2008|website=|publisher=Autohotkey.com|archive-url=|archive-date=|dead-url=|accessdate=2018-05-23}}
21. ^{{Cite web|url=https://web.archive.org/web/20120210050029/http://www.autohotkey.com/changelog/2004.htm|title=AutoHotkey Changelog for Years 2003-2004|website=wayback.archive.org|access-date=2018-03-29}}
22. ^{{cite web|url=http://ahkscript.org/foundation/history.html |title=The AutoHotkey Foundation : Our History |publisher=The AutoHotkey Foundation |date=2014-05-26 |accessdate=2016-07-23}}
23. ^{{cite web|url=http://www.autohotkey.com/forum/viewtopic.php?t=81753 |title=The future of AutoHotkey.com |publisher=Chris |date=2012-01-26 |accessdate=2012-02-01}}
24. ^.NET Framework
25. ^LibLua
26. ^Lisp on win32
27. ^Embeddable Common Lisp
28. ^Windows Scripting Host
29. ^Embedded machine code
30. ^Function Hooks
31. ^COM Wrappers
32. ^Console Interaction (LibCon)
33. ^Dynamic Code Generation
34. ^Human Interface Device(HID) Support
35. ^Internet Explorer Automation
36. ^SmartGUI Creator
37. ^Sparrow AHK Web Server
38. ^Bit Wizardry
39. ^Windows Event Hooks
40. ^{{Cite news|url=https://www.cybereason.com/blog/fauxpersky-credstealer-malware-autohotkey-kaspersky-antivirus|title=Fauxpersky: CredStealer malware written in AutoHotKey masquerades as Kaspersky Antivirus, spreading through infecting USB drives|last=Research|first=Cybereason Nocturnus|access-date=2018-03-29}}
41. ^{{cite web|title=trojan in autohotkey installer?|url=https://autohotkey.com/boards/viewtopic.php?t=13985|website=AutoHotkey Forums|publisher=gallaxhar}}
42. ^{{cite web|title=False positive virus alert?|url=https://autohotkey.com/boards/viewtopic.php?t=17835|website=AutoHotkey Forums|publisher=narny}}
43. ^{{cite web|title=False positive on antivirus programs|url=https://autohotkey.com/boards/viewtopic.php?t=6458|website=AutoHotkey Forums|publisher=Ferry}}
44. ^{{cite web|title=Trojan.Antavmu detected in AutoHotKey|url=https://autohotkey.com/board/topic/148498-trojanantavmu-detected-in-autohotkey/|website=AutoHotkey Forums|publisher=apao}}
45. ^{{cite web|title=Avast, false positive exe files|url=https://autohotkey.com/board/topic/24644-avast-false-positive-exe-files/|website=AutoHotkey Forums|publisher=Doron}}
46. ^{{cite web|title=False Positive: Malwarebytes Anti-Malware PRO and Windows 8|url=https://autohotkey.com/boards/viewtopic.php?t=383|website=AutoHotkey Forums|publisher=PuzzledGreatly|last1=}}
47. ^{{cite web|title=Antivirus scan for AutoHotkey112400_Install.exe|url=https://www.virustotal.com/en/file/a32b2ac34e0e57c61ef4805c972d970a96b3a7c788a626352d6ff24bb7237410/analysis/|website=VirusTotal}}

External links

  • {{Official website|https://autohotkey.com/}}
  • AutoHotkey Foundation LLC
{{DEFAULTSORT:Autohotkey}}

4 : Automation software|Free system software|Free software programmed in C++|Windows-only free software

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/13 7:49:29