AutoHotkey News- AHK knows the “secret handshake” of older software

AutoHotkey NewsletterHowdy %Name%,

While we know 19 architects to use AutoHotkey to automate a program, ironically older programs are very often easier to automate than newer ones.

But Joe, don’t newer programs have APIs❓

Some do, but the vast majority do not.

And older programs often use Win32 controls, and have “menus” which both are super-easy to automate.

Two of our tools can help with this.  The Simple Spy is built to let you very quickly work with Win32 controls and our other tool “old menu syntax writer” will literally write your v1 or v2 code to automate triggering your menus with an API approach (meaning you’re not imitating a human, you’re connecting to it at a programmatic level).

Most people come to AutoHotkey trying to imitate a human (sending mouse clicks & keystrokes).   While this will often work, it is, by far, the most unreliable way to automate a program!

Don’t rely on sending keystrokes or mouse-clicks when there are far better ways to automate your programs!  Join the AHK Hero club where we regularly discuss the span style=’color:red; font-weight:900;’>19 ways we know how to automate your programs!

Now on with the show…

Learn how to Master VSCode Make the switch to v2 Intro to AutoHotkey Intermediate AutoHotkey Intermediate ObjectsGUIs are Easy w/AutoHotkey Access all our Courses; Quit when you want

Shrink those Videos Away!

During this week’s video on what we automated I shared this thumbnail and mentioned I saved a crazy amount of hard drive space by using Effortless Video Recorder to compress my videos!
I thought I saved 13 gigs but I saved 136+ gigs❗

Screenshot of Effortless Video Reducer showing 232891.2 MB original shrunk to 93975.7 MB processed, with a red arrow labeled 136 Gigs Saved!

It’s much simpler to use than Handbrake but really gets the job done!

You can learn more about it in this video

How to Effortlessly Reduce the size of your videos with this Exe
How to Effortlessly Reduce the size of your videos with this Exe


How to Easily Toggle Do not Disturb mode in Windows 11

We tried to find a pure programmatic way to solve this however Microsoft seemed to really want to make it a pain!

We use UIA to toggle Do not Disturb (and move the GUI out of sight using a shell hook so it is never seen!) so it is still better than sending key-strokes.  You can check out how easy it is to use in this video.   You can get it here. 

Don’t forget, you can sign up for the All-Access pass and get all of our scripts that are below $5 for free!

How to easily Toggle Do Not Disturb in Windows 11
How to easily Toggle Do Not Disturb in Windows 11


Learning GUIs in AutoHotkey v2

If you’re new to GUIs this is a great introduction to them.  During a “free Friday” call,  a Hero member asked for a quick tutorial on creating GUIs in AutoHotkey.
On the fly Isaias led him through this amazing tutorial.
If it leaves you wanting more remember you can learn more about Objects in our Intro to Functions, Objects & Classes course.

Or jump straight in to our GUIs are Easier in v2 course!

Amazing AutoHotkey v2 GUIs Mini tutorial that tells you what you NEED to know
Amazing AutoHotkey v2 GUIs Mini tutorial that tells you what you NEED to know


Improving People’s Lives: Story #21

A client of ours has very technical topics (dealing with Quantum Entanglement, Quantum mechanics, etc.)

Many of the “white papers” are so advanced reading them counts as time travel to the future❗

I mentioned NotebookLM from Google and how it can create podcasts from documents / websites etc. and we cranked out several podcasts that were spectacular!

This morning I used it for explaining how AutoHotkey imitates a human verse taking an API approach.
You can ➡️hear it here⬅️.  It’s quite impressive!


What we’re reading


AI / Chat GPT-3 News / Usage


⚡️Productivity tips: Stay On Point!

Minimizing distractions streamlines your attention so you can stay on task. Ignore unnecessary phone calls or social media notifications, close your office doors or go hide somewhere you cannot be found!


A spot of Humor

Still one of my favorite clips!

IT Crowd – Have You Tried Turning It Off And On Again?
IT Crowd - Have You Tried Turning It Off And On Again?


What we utomated this week with AutoHotkey #59

Another very busy week working on Client’s projects (instead of our own).   I walk through what we automated for clients & ourselves in this video.

What we automated this week with AutoHotkey #59
What we automated this week with AutoHotkey #59


Client’s say…

“Joe you probably don’t understand how much you have done for me. You all have changed my life in the best possible way. I’m a designer with 11 years of experience in this field who has worked for very large companies like DreamWorks and SpaceX, I have automated most of my routine work helping your channel and your amazing guests (especially I’m a big big fan of Isaias, he explains amazingly) now I’m planning to change my field of work and transition to programming, I am very excited about my future.  Thank you” — Lasha Brodzeli


Cartoon superhero mascot in green costume beside the bold text AHK Hero on a yellow background AHK Hero

Consider joining the AHK Hero club! Members receive 25% off courses, consultations, tutoring, done for you project work, etc.    Currently we have over 324 hours of recordings teaching AutoHotkey that is exclusive to AHK Hero members❗

During this Friday’s call we’re planning to discuss:

They also have access to exclusive & pre-released content and a 3 hours a week where we help people with their AHK issues (the Saturday calls are geared towards people new to AutoHotkey.)


️ Quotable quotes

  • Create exceptional Opportunities for Exceptional People — Dan Kennedy
  • A creative man is motivated by the desire to achieve , not by the desire to beat others — Ayn Rand
  • Excuses are simple lies we first tell ourselves then others — Joe Glines
  • The more perfect a person is on the outside, the more demons they have on the inside — Sigmund Freud

AHK Newsletter⏩SHARE WITH A FRIEND⏩

Do you know someone that would benefit from learning useful automation tips like the gems in today’s issue?  Take a second and forward this newsletter and bask in the glow of their undying gratitude.  Was this email forwarded to you?

Sign up for this Newsletter here.  We never share your email with anyone.  Ever!


The-Automator

Joe, Isaias, Irfan, Rizwan and staff


P.S.  While AHK knows the secret handshake, we are the people that run the Club and know all the best ways to peak/prod programs.

We dive deep into working with Win32 Controls in our Intermediate AutoHotkey course. But we know 17 more ways to automate programs!

BTW- Don’t forget, our courses comes with a 30-day Double your money back guarantee!

200% Money Back Guarantee badge with a yellow and green starburst seal for AHK courses

HotString to bring up a GUI with multiple text selections in AutoHotkey

I was helping someone in an AutoHotkey Facebook group this morning.  The original request was how to have a HotString without requiring an ending character (tab, space, return, etc.).  This is solved by simply putting an asterisk in between the first two colons.

i.e.  :*:jg::[email protected]

However someone else mentioned a function they use to display a list of items and select from them.  He didn’t share his function but I found something similar on the AutoHotkey forum.   The example used the “Loop” and StringSplit commands.  I decided to adapt it to use a for Loop and StrSplit function.

HotString to bring up a GUI with multiple text selections in AutoHotkey

Here’s the code to use a HotString to bring up a GUI with multiple text selections in AutoHotkey


#SingleInstance,Force ;make sure it only runs once
:*:jg::[email protected] ;This does solve initial request

:*:gg:: ;when I type gg bring up the menu (* means don't wait for an end charachter)
TextMenu("This is, cool¦But I like¦to do more¦with these¦But that's about`n`nit")
return
:*:ff:: ;when I type gg bring up the menu (* means don't wait for an end charachter)
TextMenu("this¦is from the ¦ff choice I typed¦Pretty cool¦huh")
return

TextMenu(TextOptions){
for k, MenuItems in StrSplit(TextOptions,"¦") ;parse the data on the weird pipe charachter
Menu, MyMenu,Add,% MenuItems,Action ;Add each item to the Menu

Menu, MyMenu, Show ;Display the GUI and wait for action
Menu, MyMenu, DeleteAll ;Delete all the menu items
}

Action:
ClipboardBackup:=ClipboardAll ;backup clipboard
Clipboard:=A_ThisMenuItem ;Shove what was selected into the clipboard
Send, ^v ;paste the text
sleep, 50 ;Remember to sleep before restoring clipboard or it will fail
Clipboard:=ClipboardBackup ;Restore clipboard
return

 

Web Scraping with AutoHotKey 101-Super simple ways to Get data from a page, handles & pointers

Web Scraping with AutoHotKey

Web Scraping with AutoHotkey: Intro

Being able to, programatically, navigate to an Internet page and scrape the contents in a reliable fashion is best things invented since sliced bread!   I spent years manually going through pages and copying/pasting contents from IE to Excel then spent even more time trying to clean it up.  Done properly you can get the data very, very close to how it is on the web with little effort.

The below video walks through using AutoHotKey to obtain basic values from a Web page.  It also demonstrates a script I wrote that helps write the syntax (yes I’m that lazy!)  The AutoHotKey script I wrote is further down this page and can also be found on the AHK forum here.

In this beginning tutorial I how to:
1) get a pointer to IE
2) navigate to a page
3) get text from a page

Web Scraping Intro with AutoHotkey

Here is the script writer to use during your web scraping intro with AutoHotkey.
Web Scraping with AutoHotKey