ComputorEdge E-Books

Free AutoHotkey Scripts and Apps for Learning Script Writing and Generating Ideas
(AutoHotkey Download Index)

August 10, 2021
Added FilesMenuLoad.ahk for inserting Window File
Explorer structures into AutoHotkey menus

May 10, 2021
Rewrote the IPFind.ahk script to include links
and embed interactives map using ActiveX GUI control 

April 22, 2021
Added a function for calculating the date
when adding (or subtracking) years, months, and/or days 

March 26, 2021

Added a modified version of HowLongYearsMonthsDays.ahk for instantly calculating timespan between two selected date formats in any document or web page

January 25, 2021
Added a Menu Item to Peek Inside Auto-Startup Script for Notes in Startup Folder

January 3, 2021
Added New Script for Listing and Controlling AutoStartup Scripts in the Windows Startup Folder 

October 1, 2020
Changed Hotkey Input to single digit (0-9) in

September 11, 2020
Added Multi-Leg Version of the
MouseMeasure.ahk Script.

September 7, 2020
Added Version 2.0 of the SynonymLookup.ahk script for comparison with Version 1.1.

September 6, 2020
Updated the SynonymLookup.ahk script.

August 20, 2020
Updated the 🖱MouseMeasure script to include GDI Plus graphics.

August 2, 2020
Added the script 🖱MouseMeasure for measuring calibrated onscreen distances.

July 18, 2020
Added a link to an updated version of Ryan's RegExTester found on the AutoHotkey forum.

June 27, 2020
Started working on a more complete version the InstantHotstring.ahk script. Probably take a while to make it a finished product.

May 16, 2020
Scrape Links from Webpages and Place Them in a GUI!

May 3, 2020
Add Reference Source Title and Web Page URL to Tagged Window!

April 25, 2020
Copy Info to a Targeted Unseen Window with CopyRefTagWin!

April 21, 2020 Word Capitalizing and Word/Phrase
RegEx Hotstrings!

April 3, 2020: Word Swapping and Duplicate Word Auto-Delete RegEx Hotstrings!

March 21, 2020: Eval() Function for Evaluating Any Expression Anywhere!

Download and Share the FREE Books
Why AutoHotkey? and AutoHotkey Tricks!
Also available FREE on Amazon!
Tell a friend!

*          *          *

AutoHotkey Script Download Index
(Click script or app name to jump directly to description and download.)

📅AddDate (v1,v2)*
Always on Top & See-Thru AutoCorrect
AutoHotkey Original
AutoHotkey Quick Reference
ChangeVolume (v1,v2)*
clipbrd.exe (Clpbrd Viewer)

Eval() Function
Italic Hotstrings
🍔Jack Stuffed Cheeseburger
LetterSwap (v1,v2)*

🐶PictureSounds (v1,v2)*



SmartGUI Creator
SynonymLookup (v1,v2)*
ToDoList Color
WindowMove (v1,v2)*
ComputorEdge E-Books Library Membership
* (v1,v2) indicates both AutoHotkey V1.1 and V2.0 scripts available.For more V2.0 information, see "How to Fool Around with the New AutoHotkey Version 2.0". Test the alpha release of AutoHotkey V2.0 without losing all of your V1.1 apps

You'll find this free apps page preferable for downloading scripts. In additions to including descriptions for the the newer scripts, links directly download files listed in this page. In many cases, you'll find a ZIP file containing the files, but occasionally only the AHK file.

I have added links for downloading only the AHK files. Since they only contain text (AutoHotkey code), they should not set off any security alarms on your computer.

Some AutoHotkey apps include both a V1.1 script (v1) and the parallel V2.0 script (v2). To learn more about the yet-to-be-released AutoHotkey V2.0, see "A Peek at the Coming AutoHotkey Version 2.0."

It's a long page so for quicker access to each script by name, use the download index.

            —Jack Dunning

*          *          *
AutoHotkey Script Roundup by Jack Dunning
Note: Get an introduction to AutoHotkey with the overview e-book, AutoHotkey Tricks You Ought to Do with Windows FREE!

AutoHotkey If you've never heard of AutoHotkey and wonder what all the brouhaha is about, here is a short "Introduction to AutoHotkey" for newcomers.

One of the best ways to learn how to write scripts is to see how others do it. Whenever I give an example, I usually offer a practical use for the snippet. That way people not only learn how the code works, but they start to see how AutoHotkey will be useful to them. Over the course of the last few years I've posted AutoHotkey scripts (free to download and use) which accomplish a variety of different tasks. Some are as simple as a one-liner which will make any window "always-on-top" while others (although not complicated) involve time calculations for the age of grandkids (or anyone) or a barebones music player. The following are a few of the practical uses found for download:

• Adding dates to any documents (AddDate)

• Instant correction of commonly misspelled English words (AutoCorrect)

If you want to do more with AutoHotKey AutoCorrect and HotStrings, a series of blogs on "Beginning AutoHotKey HotString Techniques" are available at Jack's AutoHotKey Blog:

Jack's AutoHotkey Blog• Quick backup of text (BackupText and IncrementalSaveText)

• Calculating ages (GrandKids)

• Opening hard to find or often used folders (FolderOpen)

• Setting up temporary Hotkey combinations to add text to documents (InstantHotkey)

• Tailored Start pop-up windows and menus as a replacement for the missing Start Menu in Windows 8 or any other version of Windows (LaunchWindow and QuickLinks)

• A barebones Windows media player for music and video (QuikPlay)

• A reminder app that pops-up for appointments (Reminder)

• A voice app that reads text to you (SayWhat)

• An app for moving and sizing options for the last active window (WindowMove)

• An app for looking up the geographic location of any highlighted IP address on the Web (IPFind)

• And many more!

I have posted these scripts at the ComputorEdge AutoHotkey download site. This page is my shot at documenting the purpose of the various scripts. Previously, anyone that went to the download site for the first time might be overwhelmed with the number of downloads with no clue (other than the filenames) as to their function. For that reason I'm creating this page  which quickly explains the purpose of each posted script. I will endeavor to keep this Web page up-to-date, as well as, the same documents on the download site under the name "_AutoHotkey_Script_Index" in various formats including TXT, PDF, EPUB and MOBI (for Amazon Kindle).

ComputorEdge AutoHotkey E-BooksNote: For the convenience of people learning AutoHotkey, most of these scripts and their associated articles have been updated, organized, and included in the AutoHotkey e-books available at ComputorEdge E-Books. These books start at a beginning level and progress in order to intermediate script writing. A Beginner's Guide to AutoHotkey is for the complete novice with no programming experience. Digging Deeper Into AutoHotkey builds on  the concepts and commands introduced in the beginning book. AutoHotkey Applications is an intermediate level book with particular emphasis on the pop-up window type controls called GUIs (Graphical User Interface) built into AutoHotkey. (Many of the GUIs are shown as images in this page.) The most recent e-book is A Beginner's Guide to Using Regular Expressions in AutoHotkey, Exploring the Mysteries of RegEx which is NOT a beginning AutoHotkey book, but a beginning Regular Expression book for intermediate and above AutoHotkey users.

Other than possibly sparking ideas, experienced script writers and programmers should have no problem teaching themselves AutoHotkey from the excellent
online documentation without any help from these books. (If you would like a peek into the contents of the books, the Table of Contents and Indexes from each of these books is included in the e-book, AutoHotkey Tricks You Ought to Do with Windows. Get a FREE copy in your preferred format at ComputorEdge E-Books.) These e-books are also available at Amazon for the Kindle.

All of these scripts were written for educational purposes. I don't consider any of them truly complete and you are free to use any of them with or without giving me credit (or blame). While there are many scripts posted, there are even more of my examples which only appear in the individual columns (and of course the e-books currently available).

For files ending with the AHK extension (e.g. AddDate.ahk) to run, the main AutoHotkey program needs to be downloaded and installed. The AHK files are scripts saved in text files and are safe for downloading and opening with any text editor. If you want to learn how to use AutoHotkey, you can use the AHK files as examples. All script development and most testing is done with AHK files. It is safe to download any of the files on this download page, but as a rule AHK files are safe since they only include text.

If warranted, either as a demonstration or a free app for non-AutoHotkey users, many of the AutoHotkey AHK files have been compiled into executable (EXE) files which will run on any Windows computer with or without AutoHotkey installed. This makes the scripts completely portable. As a rule it can be a bit tricky (and sometimes dangerous) to download and run EXE files. Since a double-click on a downloaded EXE file runs directly on any Windows computer, this is a common way for people with bad intentions to spread malware. However, I can assure you that I have written and compiled every one of these files and they are completely safe (99.9%) to download and run.

What I can't guarantee is that our download site will never be hacked, thus allowing dangerous EXE files to infect the site (this is a potential problem for any download site anywhere), I think this type of security breach is extremely unlikely to happen (although stranger things have happened). The only way to be truly safe is to download the AHK file and compile it into an EXE file yourself. Or better yet, copy-and-paste the code from the books or articles I reference in this list directly into your new AHK scripts.
Note: AutoHotkey is an offshoot of the free Windows utility language AutoIt. While both are very similar  in features and capability, there are significant differences in both form and function. For more information see the Web page "AutoHotkey Versus AutoIt: A Comparison and Review of the Free Windows Scripting Languages".
AutoHotkey Script Download Index

(Click script or app name to jump directly to description and download.)

📅AddDate (v1,v2)*
Always on Top & See-Thru Windows
AutoHotkey Original
AutoHotkey Quick Reference
ChangeVolume (v1,v2)*
clipbrd.exe (Clpbrd Viewer)

EggTimer (v1,v2)*
Eval() Function
Italic Hotstrings
🍔Jack Stuffed Cheeseburger
LetterSwap (v1,v2)*
🐶PictureSounds (v1,v2)*



SmartGUI Creator
SynonymLookup (v1,v2)*
ToDoList Color
ComputorEdge E-Books Library Membership
* (v1,v2) indicates both AutoHotkey V1.1 and V2.0 scripts available.For more V2.0 information, see "How to Fool Around with the New AutoHotkey Version 2.0". Test the alpha release of AutoHotkey V2.0 without losing all of your V1.1 apps

You'll find this free apps page preferable for downloading scripts. In additions to including descriptions for the the newer scripts, links directly download files listed in this page. In many cases, you'll find a ZIP file containing the files, but occasionally only the AHK file.

I have added links for downloading only the AHK files. Since they only contain text (AutoHotkey code), they should not set off any security alarms on your computer.

Some AutoHotkey apps include both a V1.1 script (v1) and the parallel V2.0 script (v2). To learn more about the yet-to-be-released AutoHotkey V2.0, see "A Peek at the Coming AutoHotkey Version 2.0."

It's a long page so for quicker access to each script by name, use the download index.

            —Jack Dunning

ComputorEdge AutoHotkey Scripts

(Download Index) containing Accents.ahk and Accents.exe

This little Accent app from Skrommel will come in handy if you work with foreign languages or want them for the few English words that ask for them. Since these special characters don't appear on most keyboards Accents makes is much easier to add various types of squiggles to your documents. (See image at right. The image is an animated GIF file. Most media will show it in action, but some, such as the Amazon Kindle e-book, will not.)

Note: While a clever use of the Input command, in its current form Accents.ahk interferes with other Hotstrings. We've added a Suspend option to the System Tray icon right-click menu which we recommend when the app is not needed. Perhaps the use of a Hotkey to temporarily activate the routine or a pop-up menu would work better without blocking other active Hotstrings.

(Download Index) containing AddDate.ahk and AddDate.exe Updated the MonthCal GUI control to deal with a common AutoHotkey error and combining with other scripts—included in the book A Beginner's Guide to AutoHotkey. Two Hotstrings included in the AutoHotkey Applications e-book.)

AddDate is a demonstration script for adding dates to documents. When loaded, the script uses four different methods demonstrated with Hotkey combinations:

CTRL+WIN+F1 => The datetime stamp (i.e. 20130628103349)
CTRL+WIN+F2 => The date using the FormatTime command (FormatTime, TimeString, %A_NOW%, MMMM d, yyyy)
CTRL+WIN+F3 => The date using built in variables (%A_DDD%, %A_MMM% %A_D%, %A_YYYY%)
CTRL+WIN+D => The MonthCal GUI pop-up calendar (Gui, Add, MonthCal, vDayPick)

ComputorEdge AutoHotkey E-BooksTwo Hotstrings:

Anow => Instantly add today's date formatted (September 7, 2013)
Adate => Activate MonthCal GUI pop-up

The alternative script AddNextWeekday.ahk creates a series of Hotstrings which insert the next weekday date into any document or editing field. Use the letter "d" (date) followed by the abbreviation for the weekday and a format number (e.g. dsun2—all lowercase letter) as the Hotstring. (Currently only two formats— the number 1 for "5-20-18" and the number 2 for "Sunday, May 20, 2018".) Each Hotstring calls the function Weekday() which calculates the next weekday number, then the date for that day. Discussed in Chapter 1.1 "Date Tricks" of Jack's Motley Assortment of AutoHotkey Tips.

New AutoHotkey Version 2.0 example script: AddDate.ahk2

(Download Index) containing AddressBook.ahk and AddressBook.exe Included in the AutoHotkey Applications e-book.

This example of a ListView GUI keeps a database of names and addresses. It initiates e-mail, inserts name and address into documents, and calculates ages. A personal address and data book which uses AutoHotkey ListView to display entries. Right-click on entry to send e-mail, insert the address in any document, or calculate ages.

(Download Index)

Always-On-Top—Plus Window Transparency

ComputorEdge AutoHotkey contains Always_on_Top.ahk and Always_on_Top.exe Included in the book A Beginner's Guide to AutoHotkey

Always_on_Top is a one-line script which toggles any active window always-on-top with the Hotkey combination CTRL+WIN+F8.

^#F8::WinSet, AlwaysOnTop, toggle, A

See this Beginner's AutoHotkey Tip about always-on-top at Jack's AutoHotkey Blog.

In addition, three additional Hotkeys have been added to the Always_on_Top.ahk script for making a window transparent.

CTRL+WIN+F9 for semi-transparent
CTRL+WIN+F10 for opaque
CTRL+WIN+F11 for a menu of four levels of opaqueness

See this additional Beginner's AutoHotkey Tip discussing the above window tranparency Hotkeys at Jack's AutoHotkey Blog.

(Download Index)

Beginning AutoHotkey Hotstrings contains AutoCorrect.ahk and AutoCorrect.exe included in the e-book Digging Deeper Into AutoHotkey

This slightly modified AutoCorrect.ahk script is from the AutoHotkey Download Web site. It corrects many commonly misspelled English words instantly in any Windows program or Web editing page. See "Add AutoCorrection to All Your Windows PC Programs with AutoHotkey."

(Download Index)

AutoSentenceCap.ahk (added March 5, 2020) sets up Hotstrings to capitalize every letter following a period, question mark, or exclamation point with a single space between the punctuation mark and that letter without using the Shift key.

It also contains a Hotstring which changes a lowercase "i" into an uppercase "I" when sitting alone.

See "Auto-Capitalize the First Letter of Sentences" for a discussion of the AutoSentenceCap.ahk script.

The last routine uses the Standard Clipboard Routine, discussed in Chapter Nine: "AutoHotkey Windows Clipboard Techniques for Swapping Letters" of the book AutoHotkey Hotkey Techniques to create a Hotkey for capitalizing the first letter of any word whenever you press the CapsLock key with the cursor located inside the word.

(Download Index)

AutoHotkey Quick Reference

April 24, 2018

Since the older AutoHotkey Reference script shown in the section below (Deprecated) no longer works, I've included this first version of the new AutoHotkey Reference Script which sort of works. It uses a new lookup table to relate the V1.1 commands to the V2.0 commands. However, I'm only about halfway through checking the relationships in the INI file. That means, on occasion, the script generates an unwieldy message box. I'm only posting it now because I find it better than nothing.

September 7, 2018

The older AutoHotkey Reference script (shown in the Deprecated section below) works again. The secret index is back. Don't know for how long, but, at least for now, we have more options.

AutoHotkey Reference MsgBoxFor the most recent version of the script (AHKVer2Ref.ahk), select a V1.1 command and use the Hotkey combination CTRL+ALT+J. Currently, a message box pops up displaying key information for both V1.1 and V2.0. (Shown at right for the MsgBox command.) Use the MsgBox buttons to load V1.1 or V2.0 pages. For more information see  "Building a Lookup Table with an INI File (AutoHotkey Reference Tip)."

You will find the script AHKVer2Ref.ahk and the required INI file AHKVer2Ref.ini in the ZIP file

March 27, 2018 — The hidden index no longer works (probably for good). I'm currently working on a new QuickRef script which accesses both AutoHotkey Version 1.1 commands and Version 2.0 functions. When it's mostly ready, I'll post a workable version of the new script. For now, without the hidden index, this script is broken.

September 7, 2018 — I don't know exactly when it started up again, but the secret index for the main v1.1 AutoHotkey site works again. That means the script below operates again. For anyone who only interested in AutoHotkey version 1.1, you might find the following scripts preferable and more complete. (I'm only about halfway through the work on the V1.1 ➡ V2.0 correlation INI file used in the script above.)

Deprecated (occasionally): The
AutoHotkeyQuickRef.ahk script uses a hidden index found in the site which quickly finds and loads pages for commands, functions, variables, and other AutoHotkey details. (Previous script dated December 3, 2016)

This old version required the use of an AHKRef.ini file for formatting search terms to locate built-in AutoHotkey variables. (The INI file should be placed in the same folder as the AutoHotkeyQuickRef.ahk script

This script downloads the source code for the page and currently displays the syntax for commands and functions in a message box or loads pages for recognized variables and details in the default browser. If not found, a site search for the term automatically loads. Discussion of this reference tool can be found at Jack's AutoHotkey Blog.

(Download Index)

AutoHotkey included in the AutoHotkey Applications e-book.

This ZIP file contains the original AutoHotkey download with utilities no longer available with the current download of AutoHotkey_L—specifically AutoScriptWriter.

(Download Index) A control center for starting and stopping various independent AutoHotkey scripts, plus dropdown menu to use features in each script. (Included in the AutoHotkey Applications e-book.)

The AutoHotkeyControl.ahk script file and image files are included in the ZIP file.

(Download Index)

ComputorEdge AutoHotkey E-BooksAutoStartup now includes two scripts, the original AutoStartupToggle.ahk discussed in "Automatically Launch Apps at Windows Startup" and AutoStartupControl.ahk which includes the original file shortcut toggling Hotkey and a System Tray menu generating script which lists the shortcuts found in the Windows Startup folder. Discussed in blogs starting with "Auto-Loading AutoHotkey Scripts When Booting Windows."

The AutoStartupToggle.ahk script creates Windows shortcuts in the StartUp folder for files selected in Windows File Explorer. Select the .exe or .ahk file in Windows File Explorer and use the Hotkey combination CTRL+WIN+3 to either add a shortcut to the target file in the StartUp folder, or, if it already exists, remove the shortcut from the StartUp folder.

The AutoStartupControl.ahk script adds the shortcuts found in the Windows Startup folder to the script's AutoHotkey System Tray icon's right-click menu for access and control of the startup programs and scripts (as shown at right).

To reload a lost AutoStartupControl menu, use the CTRL+WIN+5 Hotkey combination.

January 25, 2021 Added menu item to right-click menu for peeking at notes in script launched during Windows boot from Startup folder. Added Hotkey CTRL+WIN+4 for reading notes in any .ahk file selected in Windows File Explorer.

Download Index)

BackupText.ahk included in the e-book Digging Deeper Into AutoHotkey

The BackupText script copies selected text to a text file in the user's Documents folder in a file named SaveEdit.txt. Each time the CTRL+ALT+B Hotkey combination is used, all the text in the document or Web editing field is selected, copied to the Windows Clipboard, then saved to the SaveEdit.txt file. This is only for quick, temporary backup of current unsaved work. The old file is overwritten each time the routine is used. To do incremental backup for text see IncrementalSaveText.ahk below.

(Download Index) containing CalorieCount.ahk and CalorieCount.exe Included in the AutoHotkey Applications e-book.

This AutoHotkey script keeps a daily log of calories consumed. It includes a special feature for importing specific food calories directly from the Internet.

(Download Index) contains ChangeCase.ahk and ChangeCase.exe included in the book Jack's New Beginner's Guide to AutoHotkey (2018).

ComputorEdge AutoHotkey E-BooksWhen loaded the ChangeCase script sets up Hotkey combinations which change the case of selected (highlighted) text:

CTRL+U => Change selected text to all upper case (StringUpper)
CTRL+L => Change selected text to all lower case (StringLower)
CTRL+SHIFT+U => Change selected text to all words with an initial capitalized letter (StringUpper with the parameter T)

See the LetterSwap.ahk script for another AutoHotkey editing trick.

(Download Index)

ChangeVolume.ahk discussed in Chapter Six of the book AutoHotkey Hotkey Techniques.

One of Jack's favorites, simply scroll the mouse wheel up or down while hovering over Windows Systems Taskbar to adjust Windows' speaker volume. The script uses conditional directives (#If expression) to isolate the mouse scroll wheel as a Hotkey.

New AutoHotkey Version 2.0 example script: ChangeVolume.ahk2

(Download Index)

CheckStyles.ahk is a script by djcpal1 which displays selected WS_XXXX and WS_EX_XXXX window styles for any window under the hovering mouse cursor. Useful for developing an understanding of how to manipulate an open window with the WinSet AutoHotkey command. See more about CheckStyles.ahk at Jack's AutoHotkey Blog.

(Download Index) includes clipbrd.exe which is a handy Windows Clipboard viewer which was included with older versions of Windows. This is included for anyone who wants to restore it to their Windows machine.

While it's easy enough to view text in the Windows Clipboard with an AutoHotkey MsgBox, images are a little more complex. The ClipBook Viewer (clipbrd.exe) makes it easy to view images in the clipboard. See "Peek Inside Windows Clipboard (Beginning AutoHotkey Tip)" and "Peek Inside Windows Clipboard, Part 2 (Intermediate AutoHotkey OnClipboardChange Tip)" for more information.

(Download Index)

CopyRef.ahk acts as a reference collection tool for any research work. Highlight any text on any Web page or in any document, then copy it to a blank Notepad window using the CTRL+ALT+C Hotkey combination. If not already open, the script launches and displays an "Untitled" Notepad window. After that, whenever executing the Hotkey combination, the app continues to collect new selected text into the same Notepad window without activating that window—even if minimized. This saves the repetitive switching between windows while executing copy-and-paste routines. (Find both CopyRefTagWin.ahk and CopyRefTagWinURL.ahk below.)

I wrote this script with students in mind for the "Why AutoHotkey for Students?" blog (now available in the free e-book Why AutoHotkey?), but, of course, anyone is free to use it. CopyRef.ahk represents a more robust version of the original SaveText.ahk script used to copy selected text to ScratchPad by Desi Quintans (discussed in the e-book Digging Deeper Into AutoHotkey). In addition to a number of additional protections, the CopyRef.ahk script uses the standard AutoHotkey Clipboard routine, plus, the Control, EditPaste command for greater speed and reliability. However, for the Control, EditPaste command to work, it must send text to an EDIT control.

April 25, 2020: The new version of the script CopyRefTagWin.ahk copies text to a pre-targeted Notepad, WordPad, or GUI Edit window. To tag a reference target window, mark either a NotePad, WordPad, or GUI Edit field as the target by activating the window, clicking in the target field and pressing Ctrl+Win+Alt+T. Then move to any source window, highlight the targeted text, then press Ctrl+Alt+C.

CopyRef with Tagged Window

(Discussed in "Channeling Text to a Tagged Window.")

Without activating the target window, the script uses the Control, EditPaste command to insert the text into the window at the cursor location. Uncomment the ControlSetText command in the script to replace rather than add text.

Use Ctrl+Win+Alt+R to return to the tagged window.

May 3, 2020: Added the GetActiveBrowserURL() function to CopyRefTagWinURL.ahk to automatically copy the window title and Web page URL to the tagged window.

(Download Index)

XGraph contains CPULoad.ahk taken from the CPULoad AutoHotkey forum topic, the compiled CPULoad.exe, and the XGraph.ahk AutoHotkey graphing utilities for real time data plotting. Posted by SKAN on the forum, XGraph is a set of AutoHotkey tools which enable graphing as demonstrated by CPULoad.exe.

If you want to make graphs with AutoHotkey, XGraph is one way to do it. (Another set of graphing tools is BarChart posted by Learning one. I've played around a little with BarChart and plan to discuss it sometime in the future.)

I've included CPULoad here because it is a quick loading gadget that can be used without any knowledge of AutoHotkey. I compiled the AutoHotkey script into an executable file (EXE) which will run on any Windows computer. If you want to use it without modification, then download from the ComputorEdge AutoHotkey download site. Extract the file CPULoad.exe and double-click to load it. (No AutoHotkey required!)

If you want to tinker with the script, then both CPULoad.ahk and XGraph.ahk (the required #Include file) are found in the same file.

(Download Index)

Date Calculation DateCalc.ahk function for calculating the calendar date when adding (or subtracking) years, months, and/or days.

This DateCalc(StartDate,Years,Months,Days) function calculates a new date for any StartDate by providing Years, Months, and/or Days (+ or -) as parameters. See "Calculating Dates in AutoHotkey by Adding Years, Months, and/or Days."

The function uses the AutoHotkey Floor() and Mod() functions to account for calculating months and years by doing old-fashion division arithmetic with remainders. See "Fake Math Tricks Using the Floor() and Mod() Functions."

For calculating the time span between two dates in years, months, and days, see the HowLongYearsMonthsDays.ahk script which allows the selection of dates in documents and feeds them in DateStamp format directly into the input fields. Useful for calculating ages.

(Download Index)

DateStampConvert.ahk discussed in "Using Regular Expressions to Convert Most Formatted Dates into DateTime Stamps" converts US and British date formats into the DateStamp format (yyyymmdd) needed for many AutoHotkey commands and functions.

This DateConvert.ahk script demonstrates the DateConvert() function which converts and US or British formatted date into the DateTime Stamp for use in any of the AutoHotkey commands or functions. The function automatically recognizes four forms of the date:
  1. US date format using text name of the month first (i.e. January 23, 2018 or Jan 23, 2018).
  2. British date format using text name of the month second (i.e. 23 January 2018 or 23 Jan 2018).
  3. US numeric date formats with month first and day of the month more than 12 (i.e. 1/23/2018, 1-23-18, etc.).
  4. British numeric date formats month second and day of the month more than 12 (i.e. 23/1/2018, 23-1-18, etc.).
When both the month number and day of the month are 12 or below, the date format becomes ambiguous. The script asks the user to pick a format (US or British) to clear up the confusion.

ComputorEdge AutoHotkey E-Books

When using DateConvert.ahk in conjunction with the HowLongYearsMonthsDays.ahk script, you can select dates in documents and feed them in DateStamp format directly into the input fields. You must include the two routines in the same script.

January 10, 2020: The DateStampConvertSwitch.ahk script uses the new AutoHotkey Switch command to replace the cascading ternary operator used in the original DateStampConvert.ahk script. Be sure to update AutoHotkey to the latest release (November 2019) for Switch/Case command support.

Plus, the DateStampConvertSwitch.ahk script also supports converting dates formatted with Spanish, German, French, and Italian month names. See Jack's AutoHotkey Blog (January 13, 2020) for more information.

(Download Index)

DateTime contains DateMenus.ahk discussed in Chapter Thirteen, Fourteen, and Fifteen of Beginning AutoHotkey Hotstrings.

This AutoHotkey Hotstring example offers three different methods for inserting times and dates into any document. Each uses the word "date" followed by a different punctuation mark (hyphen -, semicolon ; or close square bracket ]). The variable A_End_Char stores the Hotstring activating character and launches the appropriate subroutine. When A_End_Char is a hyphen ( - ), the menu shown at right pops-up. The semicolon ( ; ) launches the MonthCal GUI and the close square bracket( ] ) pops up the DateTime

Tip: Chapter Fifteen includes a technique for tracking the original active window which helps locate the right window for inserting the date after opening a GUI pop-up.

January 17, 2020 For examples of how to add this dynamic Time/Date menu as a submenu to a static parent menu, see the HotstringSubMenuTimeDate.ahk script or the QuickLinksTimeDateSubMenu.ahk script.

(Download Index)

Dictionary.ahk  included in the AutoHotkey Applications e-book.

[Sorry, but the Dictionary scripts seems to no longer work. Something probably changed on the page and as far as I know there is no update. That's the problem with scripts that depend upon automatically pulling data from Web pages. If anyone takes the time to fix it, please let me know.]

This general purpose AutoHotkey app is the instant definitions script posted at the AutoHotkey Web site by Robert Ryan (rbrtryn). It has several advantages over the usual Web search for dictionary definitions, but best of all it's fast. This script accesses to look up either a word entered into a pop-up (CTRL+SHIFT+D) or a word selected (click and hold left mouse button while dragging to highlight the word) in any window (CTRL+ALT+D) whether a text editor, Web page, or any other program with select-able text.

(Download Index) contains EggTimer.ahk and EggTimer.exe included in the AutoHotkey Applications e-book.

The EggTimer app works by opening a window (after loading, press CTRL+F12) where you set the desired time interval, then click Start (see Figure 1 at left). The time counts down to zero in the edit windows while a progress bar works it way from left to right. Once the countdown increments to zero, a bell rings, the computer voice says "Your eggs are ready!", and a window pops up with the same message. Now you have the perfect soft boiled egg.

The EggTimer.ahk script offers examples of the UpDown incremental change GUI control and moving Progress bar GUI control.

New AutoHotkey Version 2.0 example script: EggTimer.ahk2.

(Download Index)

📭EmailSend.ahk discussed in "How to Send E-mail Directly from an AutoHotkey Script."

Email HoroscopeThis sample e-mail script is a repost of one found in the archived AutoHotkey Forum by shajul from November 29, 2010. I checked the new forum but didn't find this version. It works well enough to add to this scripts page and save for posterity.

This script acts as a template for sending e-mail directly from AutoHotkey. You must tailor the code to your own email server, username, password, recipient name and other pertinent data.

Many AutoHotkey scripts merely open the default Windows e-mail program (MailTo:) while inserting the appropriate parameters. This AutoHotkey script bypasses any e-mail programs and directly sends the message using ComObject.

It worked for me and has shown itself to be reliable when run by Window Schedule to deliver a daily horoscope scraped from a Web page (image at left). I discuss that horoscope script in "E-mail the Daily Horoscope to Yourself."

(Download Index)

EmojiInsert.ahk offers a series of over 1000 AutoHotkey Hotstrings which insert emoji characters into any Windows document or Web page which supports Unicode UTF-8—which today includes most Windows software and browsers. Emojis offer a different image in various programs. The following image displays some of the alternative looks:

Emoji Characters

Each Hotkey begins with an exclamation point followed by a text string. All spaces in Hotstrings have been replaced with hyphens which has been eliminated as a terminating character. See "Add Emoji Characters to Any Windows Document (AutoHotkey Hotstrings)" for a discussion of these Hotstrings.

The ZIP file includes both the Hotstring file EmojiInsert.ahk and the lookup menu script EmojiMenu.ahk. Both files are required for the emoji menu to work since it uses the EmojiInsert.ahk file as a database. Highlight a keywork and activate the Hotkey CRL+ALT+E to pop-up a menu of emojis in the keyword category:

Emoji Menu
This menu displays a selection of emojis in the category "Animals."

The EmojiMenu.ahk script demonstrates techniques for parsing data sources and placing items in an action menu. (See "Put Your Emoji Hotstrings in a Pop-up Menu (AutoHotkey Trick)" for discussion of EmojiMenu.ahk.)

Want the menu items in alphabetical order? See EmojiMenuSort.ahk.

(Download Index) contains the Eval.ahk function file, Pulover's EvalExamples.ahk script, and the EvalTester.ahk script.

Eval() Clipboard RoutineThe Eval() function allows you to evaluate on-the-fly one or more AutoHotkey expressions found in strings. Rather than getting a result by writing complex parsing and pasting routines, simply enter the expression into Eval() as the first parameter:
Total := Eval("23+34-345/9")
Eval() places the value of the first parameter in array item Total[1]:
Total[1] ⇒ 18.666667
To evaluate multiple expressions, place a comma between the items inside the quotes:
Total := Eval("23+34-345/9,Round(Sqrt(64))")
The function saves the value of the second expression in Total[2]:
Total[1] ⇒ 18.666667
Total[2] ⇒ 8
Eval() also works for string functions:
Total := Eval("23+34-345/9,Round(Sqrt(64)),SubStr("Hello",1,4)")
The variable Total[3] returns the first four letters of the word "Hello":
Total[1] ⇒ 18.666667
Total[2] ⇒ 8
Total[3] ⇒ Hell
In order to view a result, you must display one of the array items—often the first (i.e. Total[1]). See Jack's AutoHotkey Blog for more information.
(Download Index) contains FavoritesFolder.ahk and FavoritesFolder.exe included in the Chapter Two of AutoHotkey Applications e-book.

With FavoriteFolders (link to original script) I can use the Hotkey combination CTRL+ALT+E to pop-up a menu of those same Favorite links in Windows Vista, Windows 7, Windows 8,or Windows 10 when opening/saving a file. The location of that folder which contains the shortcuts is C:\Users\%A_UserName%\Links. (The original AHK script uses the middle mouse button for the Hotkey which didn't work for me. I changed it to CTRL+ALT+E. Plus, the file could not be compiled since it referenced itself for the list of menu items. I modified this Easy Access Folders script to use the new key combination and the Favorites folder for the pop-up menu.

Download Index)

FilesMenuLoad.ahk for inserting Windows File Explorer structures into a pop-up menu.

See "Adding Folders and Files from Windows to AutoHotkey Menus."

(Download Index)

FolderOpen.ahk included in the book A Beginner's Guide to AutoHotkey.

When loaded FolderOpen sets up sample Hotkey combinations for hard to find or often used folders and an example AutoHotkey Help window as follows:

CTRL+WIN+S => Open the Startup folder
CTRL+WIN+P => Open the Programs folder
CTRL+WIN+I => Open the My Pictures folder
CTRL+WIN+T => Open the SendTo folder
CTRL+F12 => Open a Help window for these options

(Download Index) and GooglePhraseFix.ahk included in the Chapter Nine "Stealing AutoHotkey Scripts" in the free e-book AutoHotkey Tricks You Ought To Do With Windows.

ComputorEdge AutoHotkey E-BooksThis is a clever little "Autocorrect Anything" script posted on the AutoHotkey forum by aaston86. The script I assigned the name GooglePhraseFix.ahk uses Google search to correct selected phrases by accessing the "Showing results for/Did you mean:" line in a Google search results page. While not always consistent, it is amazing how often it works.

June 8, 2021: Updated script to conform with changes in Google search and make it a little more robust.

(Download Index)

GrandKids.ahk (updated October 2, 2019) represents the most recent version of the birthday reminder app. This version uses the more versatile age calculation function found in the HowLongYearsMonthsDays.ahk script. Plus, it now includes a countdown to the next birthday.

For reference to earlier versions included in the Digging Deeper Into AutoHotkey book, see  GrandKids 5.ahk, GrandKids 6.ahk, GrandKids 7.ahk and GrandKids.ini.

This particular script went through some evolution due to the problems involved with calculating dates and time spans. (In my defense, I saw a response in the AutoHotkey Forum, from someone who has many more years experience and much more expertise than I do, make a pretty basic date calculating mistake by trying to directly subtract date/time stamps.) GrandKids is an app which reads an INI data file with the birthdays of grandchildren (or anyone), calculates how old they are, then displays the information in a pop-up window.

Grandkids Birthday

The first two versions (GrandKids 5.ahk and GrandKids 6.ahk) launch the pop-up immediately when the GrandKids script loads. They require reloading from the System Tray to display again. The GrandKids 7.ahk version uses the Hotkey combination WIN+G to open the pop-up. Three chapters in the e-book explain the evolution of the script. These chapters are included as one section of the e-book Digging Deeper Into AutoHotkey.

For the updated and reworked age calculation function, see the HowLongYearsMonthsDays.ahk script.

(Download Index) with HideWindow.ahk included in the chapter on "Stealing AutoHotkey Scripts" in the e-book AutoHotkey Tricks You Ought To Do With Windows.

The AutoHotkey script I call HideWindow.ahk was found on the AutoHotkey scripts page. (I'm not sure who originally wrote it.) This HideWindow app quickly makes a window disappear, WIN+H (+H), and even removes the active Taskbar icon making it almost impossible to find the hidden window. It's not minimized, but hidden. Great for hiding inappropriate activities from the boss. The hidden window continues to run the program (whatever it is) in the background. Right-click on the AutoHotkey icon in the System Tray and select if from the menu to bring it back.

(Download Index)

HotstringMenu.ahk includes the Hotstring menu function HotstringMenu(TextList) and subroutine HotstringMenuAction. Originally discussed in the book, Beginning AutoHotkey Hotstrings: A Practical Guide for Creative AutoCorrection, Text Expansion and Text Replacement, you can include virtually any replacement text or characters in the pop-up menu Hotstrings. (For an updated approach to Hotstring menus, see the HotstringSubMenu.ahk script below.)

Hotstring MenuThe function and subroutine create an action menu of replacement options when activating the Hotstring. Call the function using the Hotstring Execute Option (X) in the form:

:x*?:b``::HotstringMenu("🦄 | Unicorn &1
,🐀 | Rat &2,🐁 | Mouse &3
,🐂 | Ox &4,🐃 | Water Buffalo &5
,🐄 | Cow &6,❓ | Red &7
,❔ | White &8")
(The example above uses line continuation techniques to wrap the function into multiple lines.)

In the examples, the Hotstrings use the backtick ` to activate a menu. (You must escape the backtick ` with another backtick ``.)

The delimiting vertical bar makes possible the addition of descriptive tags and single-key shortcuts (e.g. &1, &2, &3, …) which won't appear in the replaced text.

Hotstring Menu FractionsNovember 22, 2019: The HotstringMenu.ahk script now includes a three-parameter variadic function for using simple and associative arrays and a new subroutine MenuShortcut outputing menus with either numeric or alphabetic single-key shortcuts.

The function also includes and example to how start new menu columns for long menus. See the new variadic function

For more information, see the following blogs:

Hotstring Sub MenusThis HotstringSubMenu.ahk script rewrites the HotstingMenu() function to HotstringMenuF() taking advantage of AutoHotkey arrays, the variadic parameter, and the BoundFunc Object for passing data.

This version of the function also creates a top-level menu offering access to each submenu. The Hotstring tp` (type "tp" then the backtick key) opens the top-level menu. Hotstrings for directly opening each submenu appear at the end of each top-level menu item.

For more information, see:

Increase the Flexibility of Menus by Passing Data with the BoundFunc Object December 9, 2019

Hotstring Sub Menus January 12, 2020 This HotstringSubMenuTimeDate.ahk script rewrites the HotstingSubMenu.ahk add script to add a dynamic Time/Date menu to the main static menu. It demonstrates how to delete and rebuild a menu to insert current values into menu items on-the-fly without rebuilding the entire menu structure.

(Download Index)

HowLongYearsMonthsDays.ahk offers a rewrite of the age calculating function found in GrandKids.ahk script.

Note: For calculating a new date by adding or subtracting years, months, and/or days, see the
DateCalc.ahk function.

Calculate How Long
Acting as a demonstration app, two DateTime GUI controls appear in the pop-up window.

Select a Start Date and Stop Date, then hit the Calculate button. AutoHotkey feeds the two dates into the HowLong(StartDate,StopDate) function and a pop-up MsgBox displays the exact number of years, months, and days from the StartDate to the StopDate.

You can use this function to calculate ages by providing the birthday in YYYYMMDD format and today's date (A_Now) as function parameters (HowLong(Birthday,A_Now). Maybe you want to use it as a countdown for a major event? Or, possibly, you want to keep track of how much time has elapsed since a major event (HowLong(Event,A_Now).

As it turns out, I used much of the same code found in the original age calculating function—just in a different order. It uses a couple more techniques to make the app a little more robust and user-friendly:
  1. TimespanThe function trims both DateTime stamps removing the time portion. This makes any date comparisons less susceptible to error.
  2. The calculation for the previous month uses the AutoHotkey Format() function rather than my original SubStr() function kludge to left pad single digit months with a zero.
  3. The #If directive converts the mouse scroll wheel to Up/Down arrows whenever over an AutoHotkey GUI pop-up window. This facilitates using the mouse wheel to increment the fields in the DateTime GUI controls without resorting to the cursor arrows.
  4. October 10, 2018 — The input variables now swaps when the first date occurs later than the second date. This allows calculation regardless of the date order.
Plus, I've added more detailed comments to the script which hopefully make it easier to understand the logic.

I've posted a discussion of the code at Jack's AutoHotkey Blog.

When using DateConvert.ahk in conjunction with the HowLongYearsMonthsDays.ahk script, you can select dates in documents and feed them in DateStamp format directly into the input fields. You must include the two routines in the same script.

TimespanMarch 26, 2021: Added a modified version of the HowLongYearsMonthsDays.ahk script for instant timespan calculation: HowLongInstant.ahk. It works by selecting a section of text which includes the start and stop date as the first and last date in the selection.

The Hotkey combination CTRL+ALT+WIN+h activates the parsing, reformatting and calculating.

The script consists of five parts:

  1. The Standard Clipboard Routine to capture selected text.
  2. The RegEx for identifying and capturing the target dates.
  3. The DateConvert() function in the DateStampConvert.ahk script formats the parsed dates in the standard TimeDate stamp (YYYYMMDD).
  4. The HowLong() function found in the HowLongYearsMonthsDays.ahk script calculates the timespan by running using the two timedate stamps as parameters. Instantly displays the results in a MsgBox.

Note: Uses the Switch/Case command in the MonthConvert() function to evaluate non-English month names.

(Download Index) referenced in the AutoHotkey Applications e-book.

The AutoHotkey script ImageList.ahk and compiled file ImageList.exe display the
embedded collection of the icons and associated icon numbers in any Windows file, shown in the image at left. You might find this tool useful for locating icons on Windows computers to add to GUIs, Menus, the System Tray.

September 24, 2017 I originally posted the code taken from the ImageList (IL) functions found in the AutoHotkey ListView command which only inspects the Shell32.dll file. I've added the FileSelectFile command to make the target file selectable, plus a double-click of any icon row copies the file path and name along with the icon number to the Windows clipboard. With the file path and name, plus the icon number, you can add images
drawn directly from other icon collections (e.g. EXE and DLL files) into your AutoHotkey Menus and the Graphical User Interface (GUI) ListView and Picture controls without creating a separate image file.

If you want to save an icon to an ICO type file, then I recommend the free Icon Extract Utility from NirSoft—which also allows the exploration of various types of Windows files. Both C:\Windows\System32\shell32.dll and C:\Windows\System32\imageres.dll contain hundreds of different icons.

January 23, 2020 I've added a menu bar for opening alternative files (CTRL+O) without first exiting the script.

(Download Index)
Embed Image
MouseImage2Include.ahk After I posted the MousePrecise.ahk script on the AutoHotkey Scripts and Functions Forum, @guest3456 taught me how to embed the System Tray icon Mouse2.ico directly into the .ahk script.

The script does not need an external ICO file to accompany the MousePrecise.ahk script for either running or compiling. By using this Image2Include.ahk script to create an image AutoHotkey function, I can embed the image by inserting
the new function, Create_Mouse2_ico(), directly into the script or use the #Include directive to add it at run or compile time.

(Download Index) contains IncrementalSaveText.ahk and IncrementalSaveText.exe Discussed in Chapter Fifteen of the Digging Deeper Into AutoHotkey e-book.

The IncrementalSaveText AutoHotkey script saves the text from any window, including Web pages, by selecting the text, copying it to the Windows Clipboard, then saving it in a backup text file with the filename equal to the window title plus the current date and time in date/time format. The file is saved in the user's Documents/Backup folder. If the folder doesn't exist, it will be created. CTRL+WIN+ALT+B initiates the backup procedure once the script is loaded. (For one-time backup, see BackupText.ahk.)

(Download Index) contains InstantHotkey.ahk and InstantHotkey.exe, and included in the AutoHotkey Applications e-book.

The InstantHotkey script quickly sets up Hotkey combinations temporarily for adding repeated and/or long lines of text to any current Windows document or Web editing field. This is handy for those situations where you know that you will be using a particular term or set of terms a number of times. The window to set up the Hotkey opens immediately when the script is loaded. After the combination is set, it can be changed by right-clicking on the icon in the System Tray and selecting ShowHotkey. Hovering over the same icon will display the current Hotkey combination setting.

Instant Hotkey MenuOctober 2017—The new version of the app InstantHotkeyTwoDeep.ahk allows multiple GUI pop-ups to run in the same script without loading new instances. This script also adds features to the System Tray icon right-click menu for both accessing each Instant Hotkey GUI as well as inserting the text without the need to use a Hotkey combination. Two-deep refers to the demonstration of how AutoHotkey can track variable values by saving the name of a variable containing data in another variable. Evaluate the top variable to get the target variable name, then evaluate that variable to get the result—two-deep. Plus, the script includes a trick for tracking Hotkey results by converting Hotkey combinations into a valid variable for storing data.

The InstantHotkeyLoop.ahk version of the script replaces the Hotkey variable conversion functions with a Loop for locating the correct Hotkey insertion text. This eliminates the problem with invalid characters in variable names.

The InstantHotkeyArrays.ahk version of the script replaces the Hotkey variable Loop for locating the correct Hotkey insertion text with a one-line associative array variable evaluation which directly links the Hotkey combination to the insertion text. Use CTRL+F1 to pop-up a list of all current Instant Hotkeys.

If your security setting makes it difficult to download the EXE file, the same two files are also located in the file for easier downloading.

(Download Index)

InstantHotstring.ahk script for creating and testing Hotstrings on-the-fly—then, save them for later use. For the previous version without default file loading see InstantHotstring(FastLoad).ahk.

Instant Hotstring AppThe InstantHotstring.ahk script quickly sets up and tests temporary Hotstring combinations for adding repeated and/or long lines of replacement text to any current Windows document or Web editing field. This comes in handy for those situations where you know what text, particular terms, or set of terms you will use repeatedly in a single session.

Test Hotstrings

The GUI window includes a GUI Edit control Hotstring Test Pad for checking the behavior of any newly set Hotstrings. When creating new instant Hotstrings, you can check out various options using the Hotstring Test Pad.

The Test Pad in the image at right shows the results of the Hotstring "GUI" which immediately appends " (Graphical User Interface)" inserting a preceding space without backspacing to delete the activating Hotstring.

Save Groups of Hotstrings

You can save the Hotstrings to an AutoHotkey *.ahk file of your choice in the [working directory/]Hotstring/ folder. You can reload the saved Hotstrings from the any saved .ahk file. When saving the temporarily Hotstrings, you can choose to create a new file by adding a new filename, opt to overwrite an existing file, or, by selecting but not overwriting an existing filename, append more Hotstrings to that same file.

The InstantHotstring.ahk script displays newly created Hotstrings to the DropDownList GUI control. When setting a Hotstring, AutoHotkey immediately activates it and adds it to the DropDownList. You can deactivate/activate Hotstrings using the Toggle Hotstring On/Off button.

ComputorEdge AutoHotkey E-BooksThe Save Hotstrings button stores all currently active Hotstrings to a filename of your choice. The Load Hotstrings button restores and activates Hotstring code stored in that same (or another) file. (The Load function updates rather than duplicates any Hotstrings with the same activation characters.) The Start Clean button reloads the script wiping out all of the Hotstrings currently running in InstantHotstring.ahk.

March 29, 2019 Note: The original LoadHotstrings subroutine ran slow for a number of reasons (for discussion in my AutoHotkey blog). I've rewritten it for speed but include the former script (
InstantHotstring(SlowLoad).ahk) for review by those reading earlier blogs.

The GUI window for setting up the Hotstrings opens immediately when the script loads. After closing the Hotstring window, you can reopen it by right-clicking on the icon in the System Tray and selecting Show Instant Hotstrings. To jump into the middle of my discussion of this script, see my blog "
The Coming Instant Hotstring Script (AutoHotkey App)."

November 13, 2019 Note: The latest version now loads the default Hotstring file by accessing the file path and name saved in the Windows Registry. To set the default, click the Save Hotstrings button for adding the loaded Hotstrings to a file, then opt to set the file as default when prompted.

June 27, 2020 Note: I'm in the process of "finishing" the script by adding a menu bar and updating the routines to make it more user-friendly. As I blog about the techniques each week, I'll post the most current version of InstantHotstringMenuBar.ahk for your perusal. Don't get too excited. Most of the new stuff is not yet functional but I wanted a way for people following the blog to see the discussed changes in context.

(Download Index)

IPFind contains the latest version of IPFind.ahk (IPFindOpenStreetMap.ahk) first discussed in the e-book A Beginner's Guide to Using Regular Expressions in AutoHotkey — although changed substantially by uncooperative Web pages and the addition of maps and links.

For information on changes to IPFind.ahk, see Jack's AutoHotkey Blog.

March 7, 2019 Update: The original Web page accessed for world location data stopped working in this script. We switched to another site.

April 23, 2021 Update: Corrected formatting issue caused by Web page change. Switched to a GUI interface to accommodate map links. Added map links in new script IPFindMap.ahk script.

May 6, 2021 Update: Due to a similar problem as before, we switched sites again. Plenty of them out there.

May 10, 2021: Embedded map from using the ActiveX GUI control. (May 30, 2021, see IPFindOpenStreetMap.ahk script.)

May 22, 2021: Switched to an embedded Google map using iFrame HTML code read from a local file in IPFindGoogleMap.ahk script. (No longer works properly. Script remains for reference only. See IPFindOpenStreetMap.ahk below.)

May 26, 2021: Google has now disabled iFrame HTML map embedding. The technique remains valid but must be used with other non-Google sites which offer content embedding using an iFrame.

May 30, 2021: Converted from the disabled Google Maps to in the IPFindOpenStreetMap.ahk script.

The IPFind app demonstrates how to use Regular Expressions (RegEx) in AutoHotkey to find the geographic location of any IP address.

Merely highlight any text which includes IP addresses, then hit the CTRL+ALT+I Hotkey combination to activate the IP lookup.

First, AutoHotkey extracts the selected IP (or group of IPs) from any Windows program. Next, the script looks up each IP on the Web (without using a Web browser), then extracts and displays the location(s) as shown in the image on the left. You'll find these techniques (along with other applications) using the RegExMatch() and RegExReplace() AutoHotkey functions discussed in the e-book A Beginner's Guide to Using Regular Expressions in AutoHotkey.

The power offered by learning Regular Expressions (RegEx) makes it well worth the effort. See this "Introduction to Regular Expressions (RegEx) in AutoHotkey" for more information.

(Download Index)

Cheeseburger Recipe MenuJack Stuffed CheeseburgerJack Stuffed Cheeseburger Recipe: contains CheeseBurgerRecipe.ahk, CheeseBurgerRecip.exe, and the icon file CheeseBurgerIcon.ico.

This simple recipe script in its original form (
CheeseBurgerRecipeOrig.ahk) uses the drop-through behaviour of Label subroutine names and the built-in Windows MsgBox to display the steps (Ingredients, Preparation, Cooking, and Serving) in successive pop-up windows. You can select an individual step from the System Tray icon right-click menu, then the script "drops through" the remaining steps.

The latest version includes two new recipes: Animal-style Cheeseburger and Jack Stuffed Cheeseburger (Animal Style). The second new recipe uses the GoTo command to draw from the first two recipes to create a third. The right-click menu gets condensed by adding submenus for the recipe steps.

Demonstrating how AutoHotkey works, the book Beginning Tips for Writing AutoHotkey Scripts discusses these scripts in detail.

(Download Index) If you have a Windows laptop computer without a number keypad or want to use the click of a mouse rather than your fingers to punch numbers, then you're going to like this one. A person who goes by the forum name sveco has produced a short AutoHotkey script which places a number keypad on a Windows computer screen (see Figure below left). The beauty of this app is that it never takes the focus away from your working document. When you click on the keypad, it does not become active and will send the input to your last active window.

KEyPadYou can use it with any active window to input numbers or use the cursor keys. For the right person, this could be just the ticket. The only issues was that the keypad on a keyboard doesn't necessary sync with the pop-up, but if you don't have a keyboard numeric keypad, it's no problem.

You don't need to know AutoHotkey to use this app. I've compiled it and posted both the KeyPad.ahk and the KeyPad.exe files in a ZIP file at the AutoHotkeydownload site. Download the compressed ZIP file, and extract the EXE file. Double-click and the app loads. Click the little x in the upper right-hand corner to close the app.

AutoHotkey Notes for KeyPad

For people who are learning AutoHotkey (and you should be learning AutoHotkey if you don't already know it), there are a couple of features of note in this short script. The fact that the keypad is never active, yet is clickable has implications for other AutoHotkey scripts acting as control panels. The controls can innocuously sit on the screen until they are needed, yet even then they won't interfere with the active window. Let's look at how it's done. Let's look at how it's done.

The first line of code needed to produce this effect is:
Gui, +LastFound +AlwaysOnTop +ToolWindow +Border +E0x08000000
With the exception of +AlwaysOnTop and +E0x08000000 most of these parameters are cosmetic and can be found in the GUI Options section of the online documentation. Naturally, the keypad must be always-on-top since it would be ridiculous for it to disappear behind other windows every time another window is clicked.

The second option +E0x08000000 is a little more cryptic. This parameter is part of the Extended Window Styles (WS_EX_NOACTIVATE 0x08000000L) built into Windows. It is called as an option in AutoHotkey GUIs by placing +E in front of the number. The +E0x08000000 option calls WS_EX_NOACTIVATE which prevents the window from activating when the user clicks on it. Yet, the window still intercepts the click.

The next line of interest is:
Gui, Show, x1350 y87 h260 w215 NoActivate
ComputorEdge AutoHotkey E-BooksThe NoActivate option prevents the window from becoming the active window when initially displayed. Between the two parameters (+E0x08000000 in the Gui command line and NoActivate in the Gui, Show command line), the windows is now clickable, always available and never active.

This little script could easily be made into a Hotkey by adding the Gui, Show line of code to a Hotkey combination somewhere after the auto-execute section of the script:
^!k::Gui, Show, x1350 y87 h260 w215 NoActivate
But you will want to remove the GuiClose: subroutine, otherwise the script will exit (ExitApp) anytime you close the window and the Hotkey combination will be useless. (I added CTRL+ALT+K as a line in the AHK file, but the semicolon, which turns the line into a comment, must be removed. Don't forget to comment out the GuiClose label with a semicolon in front of each line.)

If you want a transparent keypad, then there are two lines in the code which merely need to be un-commented (remove the ; before each line).

This KeyPad app is yet another cool way to use AutoHotkey.

(Download Index)

Launch Window contains LaunchWindow.ahk and LaunchWindow.exe discussed in Chapter Nineteen of Digging Deeper Into AutoHotkey.

The LaunchWindow script is a demonstration of how AutoHotkey can be used to build a tailored Start pop-up menu window for any version of Windows—including Windows 8. LaunchWindow uses the Hotkey combination CTRL+WIN+L to open the pop-up. To tailor the contents of LaunchWindow the AHK script needs to be modified.

New AutoHotkey Version 2.0 example script: LaunchWindow.ahk2.

(Download Index)

LegalTerms.ahk uses LegalInput.ini to access Latin legal terms. You can find a discussion of this data table technique in the blog "Input Command Creates Temporary Hotstrings from Data Table (AutoHotkey INI File Technique)."

Launch Window V2.0

If the Input command does not find a match for the key code, AutoHotkey displays a pop-up menu of terms starting with the keyed character(s). This AutoHotkey blog discusses how to create this alternative action.

Launch Window V2.0

LegalListView.ahk uses the ListView GUI control to display and edit the LegalInput.ini file. See
ListView Blog 1, ListView Blog 2, and ListView Blog 3 for more information.

Stay tuned for more tricks with Latin legal terms.

May 18, 2018—Terminate the Input command with RETURN to get plain text output from the menu. Use TAB to insert Latin legal terms into word processors supporting italics. Check out the blog "More Hotstring Tricks Using the Input Command and a Data Table" at Jack's AutoHotkey Blog.

Bonus: Discussed in the "Italicize Your Hotstring Replacements with this Input Command Ploy" blog, the script now includes a Hotstring (at the end of the file) which inserts the French phrase je ne sais quoi in italics into particular word processors. This Hotstring demonstrates how to italicize term(s) by word processor type. If you don't want a surprise when entering "jq", delete or comment out this Hotstring.

The blog shows how you can add alternative actions to the Input command by changing the terminating character.

(Download Index)

LetterSwap.ahk You can find a discussion of this routine (plus other word swapping routines) in "Chapter Nine: AutoHotkey Windows Clipboard Techniques for Swapping Letters" in the section  "Eliminating the Requirement for Pre-Selected Text" of the book AutoHotkey Hotkeys: Tips, Tricks, Techniques, and Best Practices.

Launch Window V2.0

The LetterSwap.ahk script demonstrates of how AutoHotkey can set up a Hotkey combination to quickly exchange the position of two characters by placing the cursor between the two letters and hitting ALT+R.

New AutoHotkey Version 2.0 example script: LetterSwap.ahk2.

(Download Index) contains Magnifier.ahk and Magnifier.exe  included in the AutoHotkey Applications e-book.

What distinguishes this cool magnifier are its features. You can change the level of magnification by selecting the value in the upper left-hand corner menu. You can even reduce the size by half. This screen magnifier has adjustments for magnification, anti-aliasing (smoothing), and time delay.

(Download Index)

The MouseMeasure.ahk script uses the mouse to calculate a calibrated distance between two points on the computer monitor—single ruler only..

Calibrate MouseMeasureSeptember 11, 2020 — The MouseMeasureMultiLine.ahk script allows the addition of multiple legs with the click of the left mouse button for more closely matching road curves.

August 20, 2020 — The latest version uses Windows GDI Plus graphics to draw a tracking line between the start and end points. The line tracks with the mouse cursor until pressing Shift for measurement or Alt for calibration.

To calibrate the app range:
  1. Set mouse cursor at start point — CTRL+LButton and release.
  2. Move mouse cursor to end of a known scale.
  3. Press the Alt key.
  4. Enter length of scale and units (i.e. 10 miles), then Submit.

Multi-line MeasurementsManual Calibration: CTRL+ALT+Z

To Measure Distance:
  1. Set mouse cursor at start point — CTRL+LButton and release.
  2. Draw line over target distance.
  3. Click left-mouse button to add another leg.
  4. Press the Shift key to terminate last leg.
  5. Each leg distance and total distance displayed and saved to Clipboard (total distance).
  6. Use Hotkeys 1 through 9 to insert leg distance into documents—first 9 legs only.
Use cursor keys to move mouse cursor single pixel increments.

To clear measurement lines and ToolTips, press Delete.

Ctrl+Escape to Exit App.

CTRL+ALT+F12 for this Help Message.

(Download Index)

Keypad Scan CodesMousePrecise.ahk Discussed in a series of blogs about Hotkeys at Jack's AutoHotkey Blog and featured in the book AutoHotkey Hotkey Techniques.

For the compiled EXE version which runs with a double-click of the filename MousePrecise.exe on any Windows computer with or without AutoHotkey installed, download the folder and extract the files.

The MousePrecise.ahk script converts the numeric keypad into a micro mover for the mouse cursor—one pixel at a time.

The GroupAdd command isolates the Hotkeys' availability to the graphics programs included in the group. As a summary script, it uses a number of commands and directives considered best practices for optimizing Hotkeys.

Forced expressions, toggles, and the ternary operator demonstrate how more power and flexibility can be added to almost any AutoHotkey command.

March 1, 2020: Added a 16-pixel jump from top-left to bottom-right to the center keypad button (5) for cropping square images in the same increments as icons (16x16, 32x32, 48x48, etc). Use Shift+NumPad5 to reverse direction.

Note: I use MousePrecise on a regular basis. It makes difficult mousing (e.g. exact or irregular crops) easy.

Cropped Kitten

For more details about Hotkeys and AutoHotkey commands, delve into the techniques explained in AutoHotkey Hotkey Techniques.

(Download Index)

MultiPaste.ahk  discussion starts in the blog "Brute Force Data-Set Copy-and-Paste (AutoHotkey Clipboard Technique)."

Many Windows users will find this AutoHotkey script handy for copying data-sets and breaking them up into its component parts for pasting into form fields. You can use the app to copy and parse portions of Web tables, groups of cells in a spreadsheet, single-line street addresses, and many other pieces of data—then insert those items into individual fields in another window.

MultiPaste MsgBox
Activate the Input command with the CTRL+ALT+WIN key combination and press the
number key appearing next to the text to insert the data item into the selected field or
press the corresponding Hotkey ALT+1 through ALT+2 for direct paste.

After selecting a section of a page (left-click, hold, and drag), activate the Hotkey combination CTRL+ALT+F to open a MsgBox window displaying the parsed components. The MsgBox remains always-on-top while you move to your input screen.

ComputorEdge AutoHotkey E-BooksDeprecated (see note): Next, in the destination window, select the target input field and press the Hotkey combination CTR:+ALT+WIN+W to activate the AutoHotkey Input command. You have five seconds to press one of the number keys (0-9). AutoHotkey inserts the text located next to the pressed number key in the MsgBox into the selected field.

Note: While still available for learning purposes, the above Input command technique acts as a secondary insertion method. The temporary Hotkeys (0-9) work more reliably.

This script parses text in the Windows Clipboard based upon the tab (`t) character, new lines (`r and `n), commas in single-line addresses, plus US and UK postal codes, for placement in the variable array listed in the MsgBox. This script works in a wide variety of situations—although some Web formatting may limit its results.

October 1, 2020 Changed temporary Hotkeys to single digits (0-9) and added $ option to prevent refiring with SendInput command. Single-key Hotkeys directly paste the corresponding items in the MsgBox. Hotkeys deactivate after closing the "Multi Paste"  MsgBox window.

(Download Index) contains Mute.ahk and Mute.exe discussed in Chapter Eight, "Making the Insert and Caps Lock Key Useful," of the e-book Digging Deeper Into AutoHotkey.

The Mute script is a sample script with one line of code which turns the CAPSLOCK key into an audio mute toggle button.

CapsLock:: SoundSet, +1, , mute

(Download Index) contains NoHotkey.ahk and NoHotkey.exe discussed in Chapter Thirteen of the e-book A Beginner's Guide to AutoHotkey.

The NoHotkey script is a sample script with one line of code which disables the Hotkey combination CTRL+A while displaying a message box. This prevents accidental selection of all text which can then get inadvertently wiped out with a single stroke of a key.

^a::MsgBox,4160,,Control+A Disabled

Laughing Cow(Download Index) contains NumbersSpeak.ahk, cow-skating.jpg (image file), and cow-madcow.wav (audio file). Discussed in the blog "AutoHotkey Scan Codes, Speech, Sound, and Splash Images in Children’s Apps."

The NumbersSpeak.ahk script uses the SayWhat.ahk script found below as a basis for exploring techniques in writing  children's educational software. The script uses the SplashImage and SoundPlay commands, plus the ComObject function ComObjCreate("SAPI.SpVoice").Speak().

Press the letter "C" , and the script displays the SplashImage, reads the words, then spells "cow", followed by the sound of a laughing mad cow mooing.

While the script is far from complete, it features some of the AutoHotkey tools available for building cute children's scripts. It is an apt companion for the educational TalkingText.ahk script found below which voices the letters of the keyboard. then makes animal sounds when certain animal names are spelled (e.g. cat, dog, bear, and more).

(Download Index) contains OverusedWords.ahk and OverusedWords.exe

The OverusedWords script is a Hotstring app which pops up a menu of replacements for a list of overused words—as determined by English teachers when grading papers. While this script is primarily for students, anyone who wants to improve their writing may benefit. Chapter Eleven of Beginning AutoHotkey Hotstrings discusses this script.

(Download Index) contains PathCheck.ahk and PathCheck.exe

The PathCheck script is merely a message box which displays the paths represented by the AutoHotkey variables A_UserName, A_MyDocuments, and A_AppData respectively.

(Download Index) included in Chapter Six of the AutoHotkey Applications e-book.

This is Ellen's script which combines a graphic file, an audio file, and the computer voice to display a multimedia message. The ZIP file includes, PhoneRing.ahk, PhoneRing.exe (which has the files Phone.jpg and Windows Ringin.wav embedded in the single compiled version). Activated with ALT+P, it is a demonstration of using a splash image with audio as a message, then compiling all the files into one executable package which not only runs on any Windows computer, but cleans up after itself.

PhoneRing.ahk is another example of AutoHotkey techniques which might enhance children's educational apps.

(Download Index)  A Cool Little App for Inputting Common Phrases

PhraseOMatic is an AutoHotkey script which makes it easier to enter key phrases into any document or text editing field for work and personal use. No more memorizing Hotstrings or Hotkey combinations. This script is written by Douglas Abernathy which puts all of your important phrases into a pop-up menu. (Douglas can be reached at if you have any questions about PhraseOMatic or unreasonable demands for new features.) Along with the
PhraseOMatic.ahk and PhraseOMatic.exe files, there is a Readme.txt file and example phrase files found in

Download the original PhraseOMatic article "A Cool Little App for Inputting Common Phrases" in PDF format.

(Download Index)

Poetry Scripts (PoeticWords.ahk and RhymeMenu.ahk)

Rhymes Pop-up includes both the AHK file and an executable EXE file which runs without needing AutoHotkey installed.

These two scripts illustrate examples of how AutoHotkey might help poets in their quest for beautiful words (PoeticWords.ahk) and/or rhymes (RhymeMenu.ahk, shown at right). The Poetic Words script contains over 500 Hotstrings for replacing common words with more pretentious counterparts. The Rhyme Menu app downloads lists from, parses them with Regular Expressions, then inserts the selected option.

Introduced in the "Why AutoHotkey?" series found at Jack's AutoHotkey Blog, "Why AutoHotkey for Poets?" discusses these scripts.

(Download Index)

Pictures with Sounds (PictureSounds.ahk)

PictureSounds AppThe AutoHotkey script PictureSounds.ahk demonstrates how to build a database driven app. By accessing an INI lookup table, the script both generates the Gui, Add, Picture command lines and links the sound files to each image. includes the AHK script, the sample image and sound file, and the INI lookup table. When the user clicks on an image, AutoHotkey seeks the name of the sound file in an INI lookup table, then plays it. The script uses the image file name as the INI file Key. After loading a series of images, the script plays a different sound for each image. (It even plays videos!)

This script illustrate examples of how AutoHotkey can generate expandable and flexible apps using very little hardcode by creating the app with the contents form an AutoHotkey INI file. AutoHotkey loads the images (shown at right) by reading the file names from an INI file, then, whenever clicking on an image, uses the IniRead command to lookup and play the associated sound file.

For comparison, the original PictureSoundsOrig.ahk script hardcodes the Gui, Add, Picture commands, then connects images with the sound files using the INI lookup table. For more detailed discussion, see Jack's AutoHotkey Blog.

March 23, 2018 An unexpected revelation led me to using the mysterious Func().Bind() method to attach the audio filename directly to the GUI Picture control for use in the AudioPlay() function (PictureSoundsBind.ahk). This eliminated the need to access the INI file each time the user clicks an image. For more information on binding GUI controls with function data, see this blog on Jack's AutoHotkey Blog.

AutoHotkey Version 2.0 parallel example scripts: PictureSounds.ahk2 and PictureSoundsBind.ahk2.

(Download Index) January 22, 2020 The QuickLinks.ahk script has gone through many iterations over the years as explained below. The most recent version, QuickLinksTimeDateSubMenuSwitch.ahk, includes a number of improvements. In addition to the TimeDate submenu, the icon setting portions of the script now uses the newer Switch/Case command. (The Switch/Case command requires AutoHotkey version 1.1 November 2019 or greater to run.)

One of Jack's favorite AutoHotkey scripts, you'll find explanations of the original QuickLinks app included in this special Web page and (in more detail) a section of the e-book Digging Deeper Into AutoHotkey. For discussions of recent improvements in the QuickLinks.ahk script, see these additionals tips found in Chapters 4.1.4 "Automatically Add Windows Shortcuts to the QuickLinks App", 4.1.5 "Spice Up AutoHotkey Menus with Icons", 4.1.6 "Finding Windows Icons for AutoHotkey Menus", 4.1.7 "Add Secret Windows Tools (God Mode) to QuickLinks Menu", and 4.1.8 "Using Unique Icons for Specific Windows Shortcuts" of the book Jack's Motley Assortment of AutoHotkey Tips.

The QuickLinks script sets up a pop-up menu system with a special QuickLinks folder of your favorite shortcuts whether programs or Web pages. It may be a suitable replacement for the missing Start Menu in Windows 8, although I use it regularly in Windows 10 as a quick way to open working pages on the Web and many programs. For the main version of QuickLinks, once loaded, the menu is accessed with the Hotkey combination WIN+Z, ALT+comma, or CTRL+right mouse click. In another basic (without latest feature) version, QuickLinksTray, the menu structure is added to the System Tray icon right-click menu. The file now includes QuickLinks.ahk QuickLinks.exe, QuickLinksTray.ahk, QuickLinksTray.exe, plus, a number of other example files including ShortcutAnaliyze.ahk for viewing the innards of a shortcut (.lnk) file.

September 26, 2017 Win+Z, Alt+, (comma), and CTRL+right-click all open the QuickLinks menu. I personally use XButton1 (left extra mouse button) to activate the menu, but I needed to override the built-in setting in the software for my mouse by adding one of the other Hotkey combinations.

This updated version of QuickLinks includes a number of new features.

QuickLinks with Icons1. Icons are added to the menu in different ways.

First, you find the function, AddIcon(TopMenu,SubMenu), for adding icons to the top-level folders and specific shortcuts on the second level.

Second, specific IfInString command lines change/insert specific types of icons.

Third, program icons are drawn directly from EXE files.

Fourth, you can manually change shortcut icon (.lnk) in Windows (File) Explorer which then automatically appear in the menu. This does not work for Web links (.url).

Caution: If you have previously setup personalized icon statements in your version of QuickLinks.ahk, be sure to copy and transfer that icon setting code to this version. Otherwise, they may be overwritten. (In other words, backup your old copy of QuickLinks.ahk before overwriting it.)

ComputorEdge AutoHotkey E-Books2. QuickLinks now includes the secret Windows Tools (God Mode) link in the Tools folder for quick access to over 200 Windows settings and features. This feature automatic renews if deleted. If you don't want it, then delete the code which adds it.

Note: When editing shortcuts in Windows (File) Explorer, the name of the special Windows Tools shortcut appears blank in some versions of Windows. Do not edit or add a different name. That process disables the shortcut.

3. With the exception of the above Windows Tools folder, QuickLinks only launches .lnk and .url shortcuts.

4. You can now directly add new links to the menu by selecting a file in Windows (File) Explorer or the address bar (URL) of a Web page and selecting Add Links with the appropriate submenu from your QuickLinks
menu. You may want to later edit the shortcut in Windows (File) Explorer to change the name and possibly add a shortcut icon. Select Edit Quicklinks to open the QuickLinks folder.

May 23, 2018 The most recent version of QuickLinks implements code generated by Khanh Ngo which adds another dimension to the app. You can now highlight a file in Windows File Explorer and open it with a compatible shortcut in your QuickLinks menu. For example, if you include Windows Notepad in your QuickLinks menu, selecting any text file and activating that Notepad menu item loads the file into a Notepad window. (See this blog.)

This new capability also allow you to use print parameters to send files to your printer (e.g. Notepad /P).
Just add the print parameter to the Target field in the Shortcut Properties window in the appropriate QuickLinks

Explanations of the original QuickLinks script are included in this special Web page and one part of the e-book Digging Deeper Into AutoHotkey and with additionals tips found in Chapters 4.1.4 "Automatically Add Windows Shortcuts to the QuickLinks App",
4.1.5 "Spice Up AutoHotkey Menus with Icons", 4.1.6 "Finding Windows Icons for AutoHotkey Menus", 4.1.7 "Add Secret Windows Tools (God Mode) to QuickLinks Menu", and 4.1.8 "Using Unique Icons for Specific Windows Shortcuts" of the book Jack's Motley Assortment of AutoHotkey Tips.

January 17, 2020 Added a new QuickLinksTimeDateSubMenu.ahk script which demonstrates how to add a dynamic submenu which inserts current time and date formats to any other parent menu. See Jack's AutoHotkey Blog dated January 20, 2020.

(Download Index) contains QuikPlay.ahk and QuikPlay.exe included in the AutoHotkey Applications e-book.

The QuikPlay script is a barebones Windows media player. It operates with either Hotkey combinations or selections from the right-click menu from the System Tray icon. Once QuikPlay is loaded these are the Hotkey combinations and menu selections:

WIN+ALT+P => "Pick What to Play"
WIN+ALT+W => "What's Playing?"
WIN+ALT+N => "Next"
WIN+ALT+S => "Stop Play"

The file was added for downloading convenience.

(Download Index) included in the chapter on "Stealing AutoHotkey Scripts" in the e-book AutoHotkey Tricks You Ought To Do With Windows" in the "Quick Command Prompt" section.

This AutoHotkey script which I call QuickPromp adds the Command Prompt capability directly to the folder/file path field (address bar) in Windows Explorer. You no longer need to open the Command Prompt from the Start Menu or pin a quick launch to the Taskbar. Wherever you have Windows Explorer open, you can either run commands as if you were using the Command Prompt or open the window set to the current folder. The activating key is a slash (/).

I found the source code for QuickPromp.ahk at this
AutoHotkey forum post. This one was written by Rajak and I did not make any modifications. I merely compiled it into QuickPrompt.exe for running on any windows computer. Both files can be extracted from after downloading from the ComputorEdge AutoHotkey download site.

(Download Index) contains a number of versions of RecipeTree.ahk which are included in the AutoHotkey Applications e-book.

A six-part series demonstrating an alternative application using the TreeView AutoHotkey GUI control.

This AutoHotkey script uses a fairly advanced technique for attaching TreeView branches to GUI Edit control data fields by saving variable names within variables.

(Download Index)

RegExHotstringApp.ahk script includes both RegExHotstrings() function as well as examples of how to use it.

The RegExHotstringsApps.ahk interprets Regular Expressions (RegEx) and delivers the results as if a Hotstring. It monitors your keystrokes and activates when it sees a matched pattern.

Enclose subpatterns within parentheses for use in either text replacements or Label subroutines. Call the replacement values with $1, $2, $3, respective to their order in the RegEx. Unlike the AutoHotkey RegExReplace() function. The term $0 does not return the entire matching expression. (Use Ryan's RegEx Tester to view values.)

You can now easily replicate many of the Hotstring text replacement examples with the built-in AutoHotkey Hotstring() function using the X (execute) option. However, the Hotstring() function does not accept Regular Expressions. Therefore, the RegExHotstrings() function allows the activating of creative Hotstrings—such as calculating percentages or addition and subtraction as shown in some of the examples.

Plus, you'll find a recent article
(March 16, 2020) at Jack's AutoHotkey Blog highlighting the RegExHotstrings() function.

April 3, 2020: Added two new examples to RegExHotstringsApps.ahk for swapping words and auto-deleting a duplicate word. (The RegEx and replacement parameters shown at right.) See Jack's AutoHotkey Blog, April 6, 2020, for more information.

April 21, 2020: Added word capitalization while you type and word/phrase repeat.

You can download a separate file containing only the RegExHotstrings() function for inclusion in any script or placement in an AutoHotkey library (..\Lib).

(Download Index) (RegExTester.ahk) by Robert Ryan. When I started working with Regular Expressions (RegEx) in AutoHotkey, I was writing tiny AutoHotkey scripts, testing each attempt, then making changes and testing again…and again. Eventually, I checked the AutoHotkey Scripts Forum and found this Regular Expression Tester written by Robert Ryan in AutoHotkey. It's pretty slick, saves a lot of time, and offers instant understanding into how any AutoHotkey RegExs work. This RegEx Tester is used extensively to explain AutoHotkey Regular Expressions in the e-book A Beginner's Guide to Using Regular Expressions in AutoHotkey. Plus, there are articles at Jack's AutoHotkey Blog highlighting the RegEx Tester.

July 18, 2020 I noticed an updated version of Ryan's RegExTester on the AutoHotkey forum. I haven't had a chance to review it.

(Download Index) contains a number of variations of Reminder.ahk and Reminder.exe

The Reminder script has gone through many iterations and has more to come—although I'm not sure when. I use it to tell me to take out the trash on the right day and other quick temporary reminders. It is called up with the Hotkey combination CRTL+WIN+R plus the most recent version has a Set Reminder option in the System Tray icon right-click menu.

The various versions of the files (some compiled into EXE files) have been included for people who are reading the related articles. They are now combined in the file. The following is a list of the articles in order in which they deal with the different versions of the Reminder script:

Explanations of the Appointment Reminder script are incorporated in more detail in one section of the e-book Digging Deeper Into AutoHotkey and extended in Chapters Thirty-two and Thirty-three in the e-book AutoHotkey Applications. I encourage anyone to tailor the script for personal use—possibly adding a multiple reminder capability and a repetitive reminder feature. I plan to do that myself when the time is right.

Various versions of the Reminder script can be downloaded in at the ComputorEdge
AutoHotkey download site.

(Download Index)

ComputorEdge AutoHotkey E-Books SaveText.ahk discussed in Part IV "Collect Data in One Pot" of the e-book Digging Deeper Into AutoHotkey.

The SaveText script copies selected text to a Notepad editing window. If not already open, the script launches a new Untitled - Notepad window. The CTRL+ALT+S Hotkey combination copies the selected text from other programs, documents, or Web pages.

The newer CopyRef.ahk script offers a faster,
more robust form of SaveText.ahk while operating in the background with additional protections using the standard AutoHotkey Clipboard routine.

(Download Index) contains SayWhat.ahk and SayWhat.exe included in the AutoHotkey Applications e-book.

This SayWhat script is a demonstration of how easy it is to use the text reading capability of Windows with AutoHotkey. Once the script is loaded a "Speak to Me!" window will open. Type in any text and click "Talk!" The default Windows voice reads the text out loud.

(Download Index) containing ScreenDimmer.ahk and ScreenDimmer.exe is included in Chapter Eight of the AutoHotkey Applications e-book.

Demonstrates the AutoHotkey Slider control in a GUI which dims the computer screen. The second section adds an AutoHotkey Statusbar control which can reset the screen control, plus a one-click pop-up in the System Tray.

(Download Index)

SeeThruWinWheel.ahk— The script contains three Hotkey combinations for adjusting the transparency level of any window: Control & WheelUp, Control & WheelDown, and Control & LButton. Each uses the mouse in combination with the CTRL key. Since it's natural to change levels continuously, it makes sense to use the scroll wheel rather than a regular Hotkey combination.

Plus, by using the MouseGetPos command, the target window no longer needs to be the active window. Merely hovering over the window allows AutoHotkey to grab the windows name:

MouseGetPos,,, currentWindow

That means you can peek under any window covering another spot on the screen by increasing the window transparency (decreasing opaqueness) without clicking on it.

(Download Index)

SmartGUI Creator — A tool for quick GUI window code creation.

SmartGUI Creator contains SmartGUI.exe, calc.ahk, and Manual.htm. The code generation utility for creating WYSIWYG Graphical User Interfaces (GUI) was written by Rajat, a prolicfic writer of excellent AutoHotkey scripts. It can be a tremendous time saver when designing the layout of your controls. For more information get the article "Writing AutoHotkey Code Fast with SmartGUI Creator."

(Download Index)

ComputorEdge AutoHotkey E-Books (StateInsert.ahk) The online AutoHotkey documentation for the Input command includes an excellent example of how it can be used for expanding abbreviations. Modifying that example creates temporary Hotstrings for inserting all 50 states plus the District of Columbia into any documents by typing the two-letter postal code. (Included in "Chapter Sixteen: Create Instant Temporary AutoHotkey Hotstrings with the Input Command" of the Beginning AutoHotkey Hotstrings e-book.)

(Download Index) "A Short Script for Removing Embedded Misplaced New Line Characters" This fixes the problem when paragraphs don't wordwrap. (Included in "Chapter Twenty-eight: Fixing Broken Word Wraps" of the AutoHotkey Applications e-book.) (StripReturns.ahk and StripReturns.exe)

(Download Index)

Synonym Lookup Menu including
SynonymLookup.ahkI've completely rewritten this script to create a useful tool for building a menu of synonyms from a Web page. (See image at right.) After selecting any word in your document, use the Hotkey combination CTRL+ALT+L to generate a menu of alternative word options. Make a menu selection and AutoHotkey inserts the new word in place of the original selected term.

See "Build Your Own Dream Thesaurus Word Replacement Tool."

Updated September 6, 2020: The current form of the script displays both synonyms and antonyms without distinguishing the two. That's up to you!

April 27, 2018 Update: Did your SynonymLookup app stop working? changed their page format so I changed the Regular Expression in this latest version. I used the link in the page which needed some adjustments so you may occasionally see some strange characters. Plus, you might also get antonyms, but that shouldn't cause too much stress. You'll need to download the current version if you are using a version older than this date.

Since the script only downloads the source code for the Web page, it's fast and easy without any Web ads. Since it draws the menu items from the page, the script requires an Internet connection to work. Click the first menu item (e.g. • PAGE, in bold with a bullet) to load the target Web page in your default browser.

The original short beginning AutoHotkey script SynonymLookupOrig.ahk demonstrates how to use the Windows Clipboard to quickly access reference sites on the Web
. In this case, after hitting the Hotkey combination CTRL+ALT+L, opens in the default browser using the word highlighted in any text to find synonyms. (Referenced in the blog "Why AutoHotkey for Writers, Bloggers, and Editors?"

The ZIP file includes the new AHK script and the compiled EXE file which runs on any Windows PC even without AutoHotkey installed. (
SynonymLookup.ahkSynonymLookup.exe, and

New AutoHotkey Version 2.0 example script: SynonymLookup.ahk2

(Download Index) contains TalkingText.ahk, TalkingText.exe and the folders audio-alphabet (WAV files for each letter of the alphabet in a womans' voice) and Sounds (WAV files for sounds of eight different animals plus a train).

Coming soon!
Find a discussion of this recently updated scrip
t in the upcoming living book A Motley Assortment of AutoHotkey Tips (October 2018).

Hotstrings activate the WAV file for each corresponding letter key and speak the letters in a womans' voice. Spelling certain animal names invokes the sound of that animal after a space bar or period is pressed. This script offers alternative Hotstring approaches to the children's eductional script NumbersSpeak.ahk available above.

(Download Index) contains ToDoList.ahk and ToDoList.exe included in Chapter Nine and Chapter Ten of the AutoHotkey Applications e-book. See ToDoListReg.ahk or
ToDoListINI.ahk for more robust versions with record level access and an example GUI Menu Bar.

ToDo ListThis ToDoList.ahk script creates a one-column ListView window which displays text items in a list of tasks. This text list is saved to a text file (ToDoList.txt) in the same folder as the script. (That way, if you exit the app or your computer crashes, you will still have your complete "to-do list" available the next time you logon.) With a right-click on ListView, items can be edited or deleted. A closed To Do List window can be reopened with CTRL+ALT+T or with the right-click menu from the System Tray icon.

To add new items, enter the text into the editing field at the bottom of the window and click "Add to list:" on the left side at the bottom of the window. Select Edit from the right-click menu to put the item text into the editing field at the bottom. Click Update to save changes. Click the heading "Items To Do" to reverse the order of the items. Each item can be checked when completed or deleted with the right-click menu.

ToDoListReg.ahk drops the separate data file in favor of the Windows Registry. This eliminates the need to track a separate file, plus, it facilitates the real-time updating of the records. Double-click on the item or select Edit from the right-click context menu to edit directly in the ListView row.

ToDoListINI.ahk uses an INI data file to take advantage of the record-level access which comes with the IniRead and IniWrite commands. This facilitates the real-time updating of the records. Double-click on the item or select Edit from the right-click context menu to edit directly in the ListView row.

Both ToDoListReg.ahk and ToDoListINI.ahk now include a menu bar with keyboard accelerators for closing the app (Ctrl+X) and toggling the ToolTip help messages (Ctrl+T).

(Download Index)

ToDoList Chapter Thirty-six "Adding Color to ListView Rows" of the AutoHotkey Applications e-book.

This script is a newer version of the ToDoList script (
ToDoList Color.ahk) above. It demonstrates how to add color to the individual ListView rows, then turn each on and off with the CheckBox.

(Download Index) and contain ToolTipTest.ahk plus ToolTipTest.exe and ToolTipTest2.ahk plus ToolTipTest2.exe respectively. Included in the AutoHotkey Applications e-book.

Both the ToolTipTest and ToolTipTest2 scripts are demonstrations of how to use Windows Tooltips to provide information. ToolTipTest is an example of using the Tooltip within an AutoHotkey window. ToolTipTest2 provides AutoHotkey specific information on each window as the cursor hovers over it.

(Download Index)

UnHideFiles Menu UnHideFiles.ahk Another contribution from Robert Ryan, this short script makes it easy to toggle hidden Windows files to a faded visible mode by changing global settings in the Windows Registry for folders/files with their Hidden property set.

        The defined Hotkeys are:
        Ctrl+Alt+H      Toggle the show/hide of hidden files
        Ctrl+Alt+E      Toggle the show/hide of file extensions
        Ctrl+Alt+S      Toggle the show/hide of system files

You can also change these setting with options in the AutoHotkey Notification icon right-click menu.

(Download Index)

Web Page Links Run the WebLinkFindURL.ahk script, open any Web page in one of the compatible browsers (most work), and use the Hotkey combination CTRL+WIN+ALT+L. The routine captures the URL (GetActiveBrowserURL() function required), downloads the page, uses RegExMatch() function to extract external text Web links and the RegExReplace() function to clean up those links, then it places each in a GUI pop-up window as a hotlink using GUI Link controls for activation and Tab controls to wrap long lists.

This process included a number of learning points:
  1. I found the GetActiveBrowserURL() function more reliable and robust than using the Standard Clipboard Routine.
  2. Depending upon the target Web site, you may need to tailor your Regular Expressions (RegEx) to produce the most useful results.
  3. The GUI Link control creates hot Internet links for immediate action.
  4. The GUI Tab control wraps long lists for scenarios where no scroll bars exist and column wrapping proves impractical.
The image at the right shows the external links extracted from this Web page (almost 200) and places each in a GUI pop-up window. To prevent the GUI from extending out too far, Tab controls wrap the content as if in columns. Each Tab control is limited to 20 hotlinks. The GUI adjust size and shape to the contents of the controls.

See "Cull Web Links from a Web Page and Activate Each in a Pop-up GUI" for more information.

(Download Index)

WindowList.ahk for finding lost windows, included in Chapter Thirteen of the Digging Deeper Into AutoHotkey e-book.

The idea for the WindowList script was inspired by a reader wanting to bring lost (off-screen) windows back in view. This script makes a dropdown menu of all the open windows (CTRL+WIN+L to activate after load). The list is filtered to avoid Windows system windows. When a window is selected from the menu, it is activated and positioned on top near the upper left-hand corner of the screen.

Based upon the WindowList.ahk script above, WindowListMenu.ahk puts the current open windows into a menu for easy, quick activation.
Window List Menu
While the original script built a GUI DropDownList, I found it simple to add a pop-up menu to the Loop. Building on the original, the new  WindowListMenu.ahk script both creates a pop-up menu and the GUI with a DropDownList of open windows for quick activation and navigation.

When launched AutoHotkey scans the open windows and builds an activation menu from that list. The menu appears in most-recently-used order from topmost down.

While I added a Rescan Windows option to the top of the menu for manual updating, I didn't want the delay caused by the rebuilding of the menu. I felt that updating the menu in the background whenever a window opened or closed would provide a good solution. However, the script needs to recognize when a new window opens or an old window closes. I found a technique for detecting new windows in the old AutoHotkey forums (
"Detect When a New Window Is Opened" reply by SCAN).

This script also builds a GUI with a DropDownList similar to the original WindowList.ahk script. I find using a GUI window more cumbersome than a pop-up menu. If you don't want or need the GUI and DropDownList, then you can comment out or remove that code.

See my blog, "Quick Menu for Activating Open Windows" for more information.

(Download Index)

WindowMove.ahk included in the e-book Digging Deeper Into AutoHotkey.

The WindowMove script is a demonstration app similar to Aero Snap. After activating the Hotkey combination CTRL+WIN+M, the script creates a
GUI dropdown list of moving and sizing options for the last active window. It only moves and resizes that last active window. To move another window, activate that window and press the CTRL+WIN+M Hotkey combination again.

For secret Hotkeys which hide and restore the Windows Taskbar, see the block commented Hotkeys at the end of the file. To test these Hotkeys remove the block comment marks (/* and */). Be careful! If you forget how to restore the Taskbar, you might find yourself operating blind (no Taskbar). For more information, see "Chapter Seven: The Disappearing Taskbar Trick" in the book
Digging Deeper Into AutoHotkey.

New AutoHotkey Version 2.0 example script: WindowMove.ahk2

(Download Index)

Hover over window to see window properties.I put together this quick tool I call WindowProbe.ahk for capturing some of the same AutoHotkey information displayed by Window Spy, but in a different format. WindowProbe uses a tooltip help pop-up to display vital information as you move the mouse cursor around the screen (as shown at right).

The Hotkey combination CRL++T (^#T) toggles the tooltip message on and off. Since you may want to capture this information for use in an AutoHotkey script, the CTRL+F12 key combination saves the codes in the Windows Clipboard. After capturing in the Clipboard, it can be pasted into any text document or file in this format:
Unique ID: ahk_id 0x1b051c<
Title: WindowProbe.ahk - Notepad
Class: ahk_class Notepad
Control: Edit1
Active Control: Edit1
(Download Index) (WindowRollup.ahk) included in the chapter on "Stealing AutoHotkey Scripts" in the e-book AutoHotkey Tricks You Ought To Do With Windows.

ComputorEdge AutoHotkey E-BooksThe WindowRollup script is designed to semi-minimize active windows making it easier to see what's behind them and quickly access running programs on the Windows Desktop. The difference with this WindowRollup app from the previous HideWindow script is that rather than hiding or minimizing an open window, it reduces the window size to the title bar (or close to it)—making it possible to keep a good number of active windows on the Desktop without them interfering with each other.

The app works as a toggle using the CTRL+Z Hotkey combination. (I changed the Hotkey from the original +Z because I was using +Z for my QuickLinks menu app. I discuss how to make this change in the Hotkeys in the chapter "A Beginner's Guide to Stealing AutoHotkey Apps." I note that you may not want to use CTRL+Z for the Hotkey combination, since it is also the Undo Hotkey in many programs. This app will block other CTRL+Z functions. It's easy to change the Hotkey to something else by following the same steps in the e-book. The app called "Window Shading" was written by Rajak and the source is available through the AutoHotkey Scripts Showcase site.

(Download Index) contains WinToolTipToggle.ahk and WinToolTipToggle.exe included in the AutoHotkey Applications e-book.

The WinToolTipToggle script is a demonstration of AutoHotkey changing a Windows Registry entry. In this case, the script toggles Windows Tooltips, the little labels that appear when you hover the mouse over a filename or icon. The option appears in a message window when the script is loaded.

More AutoHotkey Script Snippets

The scripts posted on the the ComputorEdge AutoHotkey download site are not all of the snippets I've published. Many only appear in the  the e-books. For an extensive review of the more involved AutoHotkey scripts shown here see the e-book, AutoHotkey Applications.

*                    *                    *
Get this AutoHotkey overview e-book, AutoHotkey Tricks You Ought to Do with Windows!

*                    *                    *
The third edition with more chapters, tips and an index to the AutoHotkey commands found in the book is available in e-book format from Amazon (and other formats—EPUB and PDF— at the ComputorEdgeBooks Web site linked below). Jack's A Beginner's Guide to AutoHotkey, Absolutely the Best Free Windows Utility Software Ever!: Create Power Tools for Windows XP, Windows Vista, Windows 7 and Windows 8 (preferred, EPUB format for iPad, Android, and computers; MOBI for Amazon Kindle; and PDF for printing) offers a gentle approach to learning AutoHotkey. (Also available from Amazon for the Kindle and Kindle software on other devices.)

Building Power Tools for Windows XP, Windows Vista, Windows 7 and Windows 8, AutoHotkey is the most powerful, flexible, free Windows utility software available. Anyone can instantly add more of the functions that they want in all of their Windows programs, whether installed on their computer or while working on the Web. AutoHotkey has a universality not found in any other Windows utility—free or paid.

Originally based upon the series of articles in ComputorEdge, Jack takes you through his learning experience as he explores writing simple AutoHotkey scripts for adding repetitive text in any program or on the Web, running programs with special Hotkeys or gadgets, manipulating the size and screen location of windows, making any window always-on-top, copying and moving files, and much more. Each chapter builds on the previous chapters.

For an EPUB (iPad, NOOK, etc.) version of A Beginner's Guide to AutoHotkey click here!

For a PDF version for printing on letter size paper for inclusion in a standard notebook of A Beginner's Guide to AutoHotkey click here!

(Get the Spanish language version of A Beginner’s Guide to AutoHotkey—Guía Básica de AutoHotkey—from Amazon.)
*                    *                    *

Jack's second AutoHotkey book, Digging Deeper Into AutoHotkey (preferred, EPUB format for iPad, Android, and computers; MOBI for Amazon Kindle; and PDF for printing) is comprised of updated, reorganized and indexed columns from ComputorEdge is now available. Since the columns were not all written in a linear fashion, the book has been reorganized and broken up into parts by topic. The book is not for the complete beginner since it builds on the information in A Beginner's Guide to AutoHotkey. However, if a person is reasonably computer literate, they could go directly to this book for ideas and techniques without the first book. (Also available from Amazon for the Kindle and Kindle software on other devices.)

For an EPUB (iPad, NOOK, etc.) version of Digging Deeper into AutoHotkey click here!

For a PDF version for printing on letter size paper for inclusion in a standard notebook of Digging Deeper into AutoHotkey click here!

*                    *                    *

AutoHotkey ApplicationJack's third AutoHotkey book AutoHotkey Applications (preferred, EPUB format for iPad, Android, and computers; MOBI for Amazon Kindle; and PDF for printing) is an intermediate level book of ideas and applications based primarily on the AutoHotkey GUI command. The book emphasizes practical applications. The book is not for the complete beginner since it builds on the information in the other two books. However, if a person is reasonably computer literate, they could go directly to this book for ideas and techniques without the other books. There is an extensive index to the ideas and techniques covered in the back of the book. (Also available from Amazon for the Kindle and Kindle software on other devices.)

For an EPUB (iPad, NOOK, etc.) version of AutoHotkey Applications click here!

For a PDF version for printing on letter size paper for inclusion in a standard notebook of AutoHotkey Applications click here!

*                    *                    *

As a convenience for people who don’t want to dig through the Web for individual tips, but would like to learn some cool AutoHotkey Hotstring tricks, the e-book Beginning AutoHotkey Hotstrings is now available on the ComputorEdge E-Books site and through Amazon. If e-books are not your thing, then it might be worth your time to peruse some of the blogs included in this book and linked at “Beginning AutoHotkey Hotstring Techniques” found under the “AutoHotkey Topics and Series” tab in the top menu bar. They just might inspire your next AutoHotkey script.

Beginning Hotstrings explores the potential of the basic AutoHotkey Hotstring option and how they can aid anyone who uses word processors, text editors, or Web input fields on Windows computers. It's surprising how this one small area of AutoHotkey can add power to your computer through Hotstring menus and the enigmatic Input commmand.

*                    *                    *

This Beginner's Guide to Using Regular Expressions in AutoHotkey is not a beginning level AutoHotkey book, but an introduction to using Regular Expressions in AutoHotkey (or most other programming languages). To get the most from this book you should already have a basic understanding of AutoHotkey (or another programming language). Regular Expressions (RegEx) are a powerful way to search and alter documents without the limitations of most of the standard matching functions. At first, the use of RegEx can be confusing and mysterious. This book clears up the confusion with easy analogies for understanding how RegEx works and examples of practical AutoHotkey applications. "Regular Expressions in AutoHotkey" will take you to the next level in AutoHotkey scripting while adding more flexibility and power to your Windows apps. (This book is also available at