AutoHotkey Webinar- Intro to AutoHotkey

In this webinar we cover an Intro to AutoHotkey.

Video Hour 1: High-level overview: Hour 1
Video Hour 2: Q&A: Hour 2

Script Highlight: Minimize to tray–  This is an “old” AutoHotkey script but is super-cool!   When running you simply press the Windows Key & H and the active program will “disappear”.  It works on multiple windows.  Then, when you want them back, press Windows & U and the windows will be visible again.

Intro to AutoHotkey

  • AutoHotkey is free, open-source, Windows scripting language
  • Created in 2003 from Chris Mallet it was an off-shoot of AutoIt
  • AHK is user-friendly for non-programmers but is also used by programmers as it “hooks” into Windows & windows programs very well
  • The core language is very descriptive and typically isn’t too hard to grasp
  • Scripts are easily “compiled” into an executable which can be easily shared
  • You do not need to install AutoHotkey to run it. (It can be run from a thumb-drive)

What can AutoHotkey do?

You can automate virtually anything on a Windows computer!  Here are some uses:

  • HotStrings: think text expansion on your phone or spell-check in MS Word
  • HotKeys: Launch programs with a click of a button
  • Files & Folders: Manipulate, read, move, delete etc.
  • Automate programs : Outlook, Word, Excel, SPSS, VLC, Adobe, etc.
  • Connect to Windows API: Programmatically affect Windows & other programs
  • Web Scrape: Reliably download data from webpages &/or manipulate /complete forms
  • Web Service APIs: Many vendors allow you to query their services
  • Create GUIs: Simplify interacting with scripts by creating a GUI to manipulate
  • Regular Expressions: use pattern matching on text files to extract or re-arrange the text
  • Audio & Image Manipulation: Screen clipping, OCR, extract audio, Video recording, etc.
  • So much more!!!

AutoHotkey Resources

Installation of AutoHotkey

Go here and download the current version of AutoHotkey https://www.autohotkey.com/download/

During installation, we recommend installing the Unicode 32-bit version of AutoHotkey

Installing a Default AutoHotkey Editor

AutoHotkey code is “plain text” and pretty easy to read

Having said that, using an editor / IDE, instead of notepad, is very helpful!

Below are links to the three most popular AHK editors.  Are all equally good as are many others).  For our demonstration we are going to use SciTE (pronounced ‘sight’)

  • SciTE4AutoHotkey  is a great editor for AutoHotkey.  Here are a bunch of videos demonstrating how to Customize SciTE
  • AutoHotkey Studio  Great editor specific to AutoHotkey.  Check out the demo in this webinar
  • Notepad ++  Another great editor which is customized for working with AutoHotkey

Before Your First AutoHotkey Script

Before we start coding, here are some basics which will help you

  1. #SingleInstance, Force: Put in all scripts. This Forces 1 instance of the script
  2. The Green icon with white H   in system tray shows you the script is running
  3. Every time you make changes to your script, you need to Reload / Launch it for the changes to take affect
  4. Frequent Modifier keys (for HotKeys) are: ^=Control #=Windows +=Shift  !=Alt
  5. Frequent Special Characters (for HotStrings) are:#,!,+,;  Wrap them with {}
    1. For a New Line, use `n, for a tab use `t

 

Your First AutoHotkey Script

Hotkey

;************Hotkeys********************
;  ^=Control #=Windows +=Shift  !=Alt
^b::Run C:\Program Files\Mozilla Firefox\firefox.exe ;Launches FireFox
^n::run notepad.exe ;Launches Notepad
~^n::run notepad.exe ;launches Notepad w/o absorbing the HotKey

HotString

;*********HotString************
::jg.::Joe Glines
:o:jta.::Hello ,How are you? {left 14}

Copy & Paste to Excel

;********************Copy selected text, activiate Excel & Paste****************
;***********Copy / Paste to other program
^b::
backup:=ClipboardAll ;create a backup of the clipboard
Clipboard:="" ;clear the clipboard
Send, ^c ;Send "Control C" to copy selected text
ClipWait,1 ;waiting for clipboard to have data
;~  MsgBox % Clipboard ;Show the clipboard has data

winactivate, ahk_exe EXCEL.EXE ;Activate Excel
WinWaitActive, ahk_exe EXCEL.EXE ;Wait for Excel to be activated
Send, ^v ;Send "Control V" to paste the data into Excel
sleep, 100 ;add 1-10th of a second to wait
Send, {down} ;send  the down-arrow key to move cursor to cell below
sleep, 100 ;wait 1-10th of a second
winactivate, ahk_exe SciTE.exe ;Activate SciTE 
Clipboard:=backup ;restore clipboard
return ;end this section

Troubleshooting & Debugging

  • Watch our AutoHotkey webinar on Troubleshooting & Debugging (or join a future webinar and ask questions in the second hour)
  • Work through our HotStrings Udemy course
  • Is script running / Green icon with white H in system tray
  • If Green H Icon, Restart script
  • Double-click icon & look at: last lines run, Variables & their contents, Hotkeys & their methods, Key history
  • Close all other scripts & programs & retry
  • If still not working, start using msgbox to “walk through” the script
  • Try using ListVars & ListLines
  • Read documentation on specific command/function you’re having issue on. Search forum/StackOverflow for examples
  • Try running your script as Admin
  • Temporarily turn-off UAC (User Account Control)
  • Is your issue after the Auto-Execute Section?
  • If Context-sensitive, remove context sensitivity & run general
  • Reboot the computer (hey, it’s Windows…)
  • Search the AutoHotkey Forum, Stack Overflow for similar issues
  • Is the problem consistent & repeatable?
  • Does it happen on other computers?
  • What, specifically, isn’t working? Break down the part that isn’t working into it’s-own script. Provide specific example to AHK Forum, StackOverflow, or friend after spending at least 30 minutes on it yourself. You can also check Discord for live feedback/support.
  • For SciTE debugging, you can check out videos on this post

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.