
Here I give a brief overview of my background and experience with AutoHotkey
AutoHotkey is an amazingly-powerful language! I outline just some of the things you can do with it in this lecture.
This lecture we review, at a high-level, what we will cover in this Intermediate AutoHotkey course
There are an amazing amount of resources available to AutoHotkey users. In this video I outline a lot of them and give a brief overview of their usage.
I cover downloading, installing, and setting up AutoHotkey
Here I discuss installing an editor for AutoHotkey. I recommend AHK Studio as it is built for (and written in) AutoHotkey. There are other good editors out there and, if you prefer them, then they should be fine however, throughout this course, I use AHK Studio
Before we start coding, I wanted to make sure we're all aware how , with a good IDE, you can press F1 within your program and/or go to the AutoHotkey site for documentation
In this lecture I discuss some of the more "important" settings I have in my scripts that I'm developing
In this lecture I cover some less-important / Optional settings you might want in your default settings for your AutoHotkey scripts
In this lecture I demonstrate how to put your setting into a default file and then "pull them in" to your active script with an #Include command
Here I demonstrate adding some helpful hotkeys to your default script. This simplifies developing your code quite a bit!
In this lecture I review three ways to send keystrokes in AutoHotkey
These are preferred/recommended way to send keystrokes in AutoHotkey
AutoHotkey is amazing however it is single-threaded. If you have a hard-stop (like a message box) your script will be "stuck" until the Message box gets dismissed. SetTimers are a great way to get around this issue.
Explore iniRead and iniWrite in AutoHotkey to save and retrieve configuration in ini files, including section-key structures, character limits, line-break handling, and methods to read keys, sections, or all sections.
Writing key-value pairs in an ini file is easire than you'd think!
Understanding how ini files are structured is key. In this lecture I walk through how to navigate their structure with iniRead
In this working session we practice some of what we learned with iniRead and iniWrite
Explore the Windows registry as a hierarchical database that stores OS and program settings, learn reg read, reg write, and reg delete, and understand safe editing practices with backups.
In this lecture I demonstrate how to read a string value in the registry
This lecture explains how to read a multi-string value in the registry
Here we cover how to write keys / values to the windows registry
Deleting Keys and Values in the registry is easy with AutoHotkey. This lecture we demonstrate how to do both.
In this working session I demonstrate how to apply some of the registry commands we learn. I also show how I had to elevate my script to run at admin-level so the script would update properly.
Define a control as a window inside another window that lets users type, choose options, and initiate actions. Learn why controls matter for automation and how AutoHotkey connects to them.
In this lecture I walk through some of the main advantages and disadvantages of using controls in AutoHotkey
Here are some additional resources to learn more about Controls
While we will focus on the ClassNN to connect to a control, there are other ways.
Here are a few tools for working with Controls
There are a lot of commands in AutoHotkey for working with Controls! We'll cover all of them in the next lectures
Getting the text of a control is simple with ControlGetText
It's reliable, fast, and easy to set the text of a control with ControlSetText
You can also send keystrokes / mouse clicks to controls. In this lecture we show you how to do it and how it is different than ControlSetText
If you have special characters (like !, #, or {, you will want to use ControlSendRaw
If you want to get the position of a control, it is easy with ControlGetPos
Sometimes you want to detect which control has the focus. This lecture walks you through how to use ControlGetFocus
Lists are amazing! So is the power of AutoHotkey to extract data from them, update them, and set them
This lecture shows how to find out what is selected in a list
Sometimes you want to know the line number you're on in a list. You can get it with ControlGetLine
If you want to know the number of lines in a control, make sure you watch this lecture
Comboboxes are cool! See how you can work with them in this lecture
A lot of controls are ComboBoxes. Check out how you can work with them in this lecture
Listviews are very powerful. With AutoHotkey you can peak into them and see what is there, what's selected and more
If you'd like to know what your focused on in a listview, check out this lecture
Easily detect how many selections you have in a listview
Did you realize you can add and delete items in lists of other programs? This is AMAZING!
Selecting form a list is pretty awesome and handy!
Being able to send a "click" to a control without moving your mouse, or interrupting the user, is a great way to have a highly-reliable automation program
Want to move a Control? Or change it's size? It's hard to believe but you can do this for many controls in Windows programs
Checking & Unchecking boxes comes up a lot! Watch this video so you can Automate it with AutoHotkey
Do you have a button you don't want employees to push? Or want to enable something that is normally disabled? This lecture is for you
Forget disabling! Want to completely hide the control? It's easy with AutoHotkey! Robotics Process Automation rocks!
Dropdowns can also be hidden or shown with AutoHotkey
Do you have a program that always starts on the wrong tab? You can automate changing the tabs with this AutoHotkey command
Being able to programatically paste into an Edit control is awesome!
In this working session I demonstrate using Controls on various programs. It's truly amazing what can be done!
In this lecture I explain the power of using WinMenuSelectItem.
Sending the word you want to trigger is a super-easy way to automate programs with AutoHotkey
Some menus have pictures (or charchters that you can't send). In this case, sending the number works great!
I'll have to admit, I didn't even know "system Menus" existed! I learned a lot in this lecture as to how to connect with a "hidden" menu that programs have
While there are a lot of types of Loops in AutoHotkey, there are some basic commonalities. I address them in this lecture
This first lecture covers the normal / basic loop command in AutoHotkey
Here I walk through using the While Loop command
Using the Until loop can be a handy way to write your code
Parsing text with the Loop command is pretty cool. Also, if you work with CSV data, AutoHotkey has some GREAT built-in functionality!
In this lecture we show how to parse text with the loop command
In this lecture I explain how awesome it is that AutoHotkey has built-in functionality to handle CSV data that is double-quote encapsulated.
In this lecture I give an overview of looping over Files and Folders
Here we walk through out to loop over Files & Folders with the Loop command
Here we play with the Loop command showing how to loop over files and folders
In this lecture we discuss some of the differences between Simple Arrays and Associative Arrays
Here I dive into Simple Arrays. Think of them as "lists" but not having any logical "order"
This is a brief overview of programming with Simple Arrays
Initializing an Array is simple in AutoHotkey. Also setting a value can be done very easily
Message Boxes are handy but they force you to hit a button and frequently do not display the data in a great format. In this lecture I demonstrate using the Debug window in AHK Studio to display your results. I have a function that also does this for SciTE. You can find it here: https://the-automator.com/scite-output-pane/
It's easy to add to an array. This lecture I show how to Push into an Array
It's very easy to remove items from an Array with AutoHotkey. Here we look at the RemoveAt and Pop Methods.
There are different approaches for getting info out of an Array object. Here we cover three
Explore simple arrays in AutoHotkey by accessing elements, looping over them, and applying remove, delete, and count techniques to manage indices and contents, including associative arrays.
AutoHotkey is an amazing tool that can help automate programs on your windows computer. In this course we take a deeper-dive into programming with AutoHotkey. The skills learned in this course will help you develop better Robotics Process Automation software.
I highly recommend you either work through the Intro to AutoHotkeys Udemy course or have ~6 months experience programming in AutoHotkey as we hit the ground running.
We cover a lot of great tools in AutoHotkey in this course. But don't worry, you don't need to be a programmer to understand the course. Here's a brief outline of what you'll learn:
Some great default settings to have in your scripts
Various types of ways to Send data/text/actions to programs
Using a Set Timer to give the illusion of multi-threading
Reading and Writing to .ini files (great ways to store preferences & settings)
Reading and Writing to the Windows Registry
Automating programs with Controls (amazing way to automate older programs!)
How to automate older programs using their menus
How to work with 5 types of AutoHotkey Loops
How to work with Simple and Associative Arrays / Dictionaries / Maps
How to get help with your code
Take your next steps to learning AutoHotkey and how to put the "personal" back into your computer.
This course assumes you've already taken the Intro to AutoHotkey course. People having used AutoHotkey for more than 6 months can probably jump into it without having taken the prior course