• Intro to AutoHotkey Intermediate AutoHotkey Intermediate Objects GUIs are Easy w/AutoHotkey Painlessly switch from V1 to V2

August 2022 AutoHotkey Newsletters

AutoHotkey Newsletter

August 22nd, 2022

Howdy %Name%,

One of the best lessons in life is to learn to never settle for “no”. In the Dan Kennedy book I’m reading he says:

“If you wanted to focus on the one single behavior that has more to do with success than any other it is our how we react to hearing ‘no’.”

I’m convinced it’s one of my best traits and why I have such high self-confidence. As you should know, I don’t have a background in programming yet I’m able to solve virtually any problem that is thrown at me.

Why? Because I refuse to give up on any task I have. One way or another I find a way to solve the problem. So keep at it and develop a dogmatic attitude to never settle for no and you’re much more likely to be successful.

Here are a few quotes from Albert Einstein:

  • I can” is 100 times more important than “I.Q
  • It’s not that I’m smart; It’s just that I stay with problems longer.
  • Success comes from curiosity, concentration, perseverance, and self-criticism.

So don’t take no for an answer and, as they say in Galaxy Quest: “Never give up, Never Surrender”

Now on with the show…

Tips on placing buttons in AutoHotkey GUIs

The other day Isaias was helping update my GUI that I use for reviewing email addresses that get added to this newsletter. I wanted him to add a new button to the GUI and saw some “interesting” code which I asked him to explain (thankfully I recorded it) as it was really interesting and a great GUI building tip. Our GUIs are Easy course helps you get going with GUIs. I just checked and there are still a few more purchases available with our Flash sale coupon. Use “GUIFlashSale2022on checkout to save $19.99.

Advanced tip on aligning buttons on AutoHotkey GUIs

Advanced tip on aligning buttons on AutoHotkey GUIs


Are you ready to switch to AutoHotkey v2?

Dillon D., a client and friend, wrote me the other day and mentioned he was ready to start playing with AutoHotkey V2. He remembered we had created a script to loop over all of our AutoHotkey scripts adding the #Requires directive to avoid a huge problem later. Have you added the #Requires directive to all of your scripts? We discuss the script and why it is so important in this video.

Avoid the coming catastrophe 💣 and use this script today!

Avoid the coming catastrophe 💣 and use this script today!


Tips to Get scripts working on multiple computers

Often we’re writing scripts that we’ll only use on our computers however, when you’re expecting your code will be run on multiple computers, there are some important things to take into account. Check out this video for some great tips to consider.

7 tips to increase the likelihood your scripts work on multiple computers

#107 Automators' Podcast: 7 tips to increase the likelihood your scripts work on multiple computers


2️0️ button programmable mouse?

I was looking on Amazon for programmable keyboards and happened to see this mouse with 20 programmable buttons! 

Just curious, do you have something like this? My current mouse (which I love) has 5 buttons which I’ve programmed to do various things. I’m just curious if any of you have one like this with so many buttons. If you do, are you able to easily tell which button you’re pressing? Let me know


📚 What we’re reading / watching


⚡️Productivity tips 

In contrast to the introduction section of this episode, where I convey not to take ‘no’ for an answer, one of the best ways to be more productive is to ‘say no’ to unnecessary things.
Ask yourself, as often as you can, “Is that really necessary?” You will find that your answer is often: Nope.

So why do unnecessary things?


🤣 A spot of Humor

I’m pretty sure I’ve spoken to this guy…

The IT Crowd 4×05 the best scene ever

The IT Crowd 4x05 the best scene ever


Quick Access Popup news

During our Live call last week a person new to AutoHotkey wanted help “web scraping”. We discussed several approaches (IE, Rufaydium, AutoControl, API calls, etc.) but we decided, given his knowledge level, sending tabs on the page was probably the “right” approach for his knowledge and situation. It reminded me how Jean Lalonde and I showed how you can use Quick Access Popup to complete forms

How to Quickly and easily complete online Forms with Quick Access Popup


How to Quickly and easily complete online Forms with Quick Access Popup


AHK Hero 🦸‍♂️

Want more time than the free hour? Have content that you can’t have on YouTube? Consider joining the 🦸‍♀️AHK Hero club! Members receive big discounts to courses, consultations, tutoring, done for you project work, etc.
They also have access to exclusive & pre-released content and a 2nd “office hours” session which isn’t on YouTube.


🗣️ 💭 Quotable quotes

  • Whatever Your Mind Can Conceive and Believe, It Can Achieve. — Napoleon Hill
  • The secret to getting ahead is getting started. The secret of getting started is breaking your complex, overwhelming tasks into small manageable tasks, and then starting on the first one. — Mark Twain
  • Instead of trying to get more done, I’m working hard on having less to do — Joe Glines
  • The person who says it’s not possible needs to get out of my way — Joe Glines

Live AutoHotkey Support Tomorrow

Don’t forget on Friday’s (now at 9:00 a.m. CDT ) you can get free AutoHotkey support on my YouTube channel. Or you can sign up for reminders and join the zoom room.



The-Automator

Joe, Isaias and staff


August 15th, 2022

Howdy %Name%,

General Norman Schwarz said that leadership has less to do with making right decisions than making decisions right

If you can get someone to move, even if it’s the wrong direction, the movement will lead to figuring it out and ultimately moving in the right direction.  But without movement, they never get anywhere.

And that, my friends, is one of the main goals of this newsletter!

I’m hoping the examples provided in this newsletter inspire you to keep learning to automate your world.  Either through our AHK Courses, or perhaps in our private Telegram community where AHK Heroes are helping each other.  Check out some of the Testimonials of AHK Hero members

I challenge you stop doing the mundane work and start learning AutoHotkey TODAY

Now on with the show…



A better Error Report in Version 2

The other day Isaias showed me how AHK V2 has a more-robust way to report /display errors.  I’ve never loved the error reporting in AutoHotkey (however, as bad as it is I’ve seen worse!).  Lexikos has stepped-up the interface and functionality in V2.
Thanks for all you do Lexikos

Check out the New Error reporting in v2❗ Cool improvements 😍

Check out the New Error reporting in v2❗ Cool improvements 😍


UI Automation is amazing 😲!

We had a client call with Soti C. an AHK Hero member the other day.  While the content was privileged, it was a great reminder how powerful UI Automation is!  We were able to help Soti get some very solid automation on his tools. In this video we talked with Descolada, the developer of the updated UIA class.  Just a reminder, since Soti is an AHK Hero member he was able to take 25% off our fee!  That easily paid for his membership for the rest of 2022!

Diving into UI Automation with the author Descolada


Diving into UI Automation with the author Descolada


Automating Chrome with AutoControl

A lot of people ask us about how to automate Chrome.  Thankfully there are many ways to automate Chrome with AutoHotkey.  At some point I’ll make a video outlining them however I did want to reiterate there is a Chrome Extension named AutoControl which has some pretty cool functionality.  In this video we discuss some of it’s functionality.


Automating Chrome - AutoControl and AutoHotkey


Adding a GUI to your script is easy and often VERY helpful!

In our course GUIs are Easy we show you just how easy it is to create
a GUI in AutoHotkey. In this short video I walk through an example how easy it is to add a GUI to your script.


How to easily add a GUI to your script | AutoHotkey GUIs are easy

I’m such a beliver I just created a 3 coupons for to get it at a significant discount. Use GUIFlashSale2022 during checkout. This is the lowest price I’ve ever sold it at! EVER! Act now before the coupons are used up!


Automating a browser with Keystrokes

While generally we try and take an API approach (instead of imitating a human), sometimes you just have something so simple you can simply send keystrokes / mouse clicks.  In this video I show how simple it can be to select multiple items in a browser.

Simple AHK Script to Select many items in Chrome with AutoHotkey


Simple AHK Script to Select many items in Chrome with AutoHotkey


📚 What we’re reading


⚡️Productivity tips

Templates are an amazing way to save time and increase consistency.  Of course I use HotStrings to have a ton of templates at my fingertips however you could easily set up a hotkey to dump in your text as well.  For ones I don’t use frequently I shove them into Quick Access Popup so I have a GUI to help organize them.


🤣 A spot of Humor

Sometimes I do feel like I followed the white rabbit although I’m not certain I’d take the Red pill…


The AHK Hero group is rocking it!

As I mentioned last week, we’ve started a second hour of Office hours!  The first hour is geared more to entry-level topics:HotStrings, Hotkeys, mouse clicks, etc. while the second hour is for more advanced topics: COM, RegEx, API calls, etc.  Members are free to attend both but need to limit their questions to one.   As we get more members  we’re going to offer a Saturday session!

Want more time than the free hour? Have content that you can’t have on YouTube? Consider joining the 🦸‍♀️AHK Hero club! Members receive big discounts to courses, consultations, tutoring, done for you project work, etc.
They also have access to exclusive & pre-released content and a 2nd “office hours” session which isn’t on YouTube.


🗣️ 💭 Quotable quotes

  • You’ll never change your life until you change your daily routine Joe Glines
  • Never be handicapped by your education Dan Kennedy
  • Being born in poverty isn’t a sin; staying in poverty might be
  • Turn off the TV and go read. John Carlton

Live AutoHotkey Support Tomorrow

Don’t forget our Friday calls got moved up 1 hour.  Now they’ll be at 9:00 CDT.  You can get free  support on my YouTube channel.  Or you can sign up for reminders and join the zoom room.

The-Automator

Joe, Isaias and staff

P.S. I really believe you should take a close look at the AHK Hero group. It’s a community of people
with a similar mind-set helping each other and ensuring you move forward with your AutoHotkey scripts & knowledge.


August 8th

Howdy %Name%,

Here’s some great advice for “leveling up”.
When you’re reading anything by an “expert” that is sharing an approach…

🛑 STOP❗  Do not read the answer right away

  1. Try to come up with an idea how it can be solved. What would you do?
  2. Do this as if your life depended on it
  3. Once you’ve decided on your best answer – continue reading to see what the expert said

Did you come up with the same solution the expert had? Congratulations!

You’ve entered the same level of awareness as the expert. Maybe it’s time you started calling yourself an expert, too❗

Now on with the show…

📢 Change to Friday Live AutoHotkey Support Calls📢

Tomorrow’s Live support will be at the regular time (10 CDT) however, going forward (starting on Friday September 16th)  we are moving it an hour earlier❗ You can get free AutoHotkey support on my YouTube channel and sign up for reminders and join the zoom room.

We’re making this change because of the huge increase in number of AHK Hero members 😀!  The AHK Hero membership is about ensuring people can get help from others.  The private Telegram group is proving very helpful however the live Zoom meetings where we see what others are working on and help push them in the right direction is also extremely valuable.  Speaking of which, Tomorrow is that last day to purchase at the introductory price of $5.99 a month.

There are other great benefits of the AHK Hero membership.  Learn more here or check out Testimonials from current members or watch this short video

Ramp-up your AutoHotkey skills saving Time & Money❗

Ramp-up your AutoHotkey skills saving Time & Money❗


Creating an Installation Executable

Compiling an AutoHotkey script into an executable is easier than any other language on the planet!  But, if you’re creating a tool you want to distribute to clients that will be “installed” and you’d like to ask them questions, you might want to try Inno Setup.  In this video Jean Lalonde, author of Quick Access Popup, walks us through this amazing tool!  He gives a great overview and explains a lot of the setting she uses when distributing QAP.

How to use Inno Setup for creating a custom install of your files

How to use Inno Setup for creating a custom install of your files


Automtating Chrome with UIA

Our UIA videos have got a lot of traction but automating Chrome with UIA deserves a special mention.  There are more and more ways to use AutoHotkey to automate Chrome.   Hopefully, next week, I’ll get around to making a video explaining the pros/cons of each approach (this was suggested by Thomas, an AHK Hero member, and is a great one!  For current Hero members I covered it on the fly during the Aug 12th Hero call.  Meanwhile make sure you take a look at using UIA with Chrome.

How to Automate Chrome with UIA

How to Automate Chrome with UIA


Have your Folders at your fingertips

I’ve said for years that HotStrings are the “hidden gems” of AutoHotkey.  It was one of the reasons it was our very first Udemy course!  In this short video I show you just how easy and helpful it is to have your frequently used folders or files saved in HotStrings.

Easily navigate to Folders with HotStrings


Dump Text to a GUI regardless of editor

As many of you know, I use AHK Studio for coding in AutoHotkey and SciTE4AutoHotkey for all other languages.  Meanwhile Isaias uses VS Code.   All are solid editors however each one has a different way to access the “debug window” which comes in really handy when you’re trying to review large amounts of text.   I put a function together that will review the editor you’re working in and then call the correct function.  If you’re not using one of those editors, it just dumps the text into a resizable GUI.

Debugging your scripts: Displaying text regardless of editors


The Lost Files

Not sure if you’re aware of the “drama” a few years back when AutoHotkey.com was hacked!  A lot of work was done to find scripts that were lost during this but, it was so long ago, I figured a lot of people aren’t aware of it so I made a short video explaining what happened and how they can get this amazing download.

The lost files: Huge archive of AutoHotkey files from AutoHotkey.net

The lost files: Huge archive of AutoHotkey files from AutoHotkey.net


📚 What we’re reading


⚡️Productivity tips

Tracking where your time goes is a very helpful way to identify things you can improve upon.  Because we have likes/dislkes etc. humans have a really hard time objectively quantifying time.  For example, time “flies” when we’re doing something we really enjoy however, when we’re working on something we dislike it seems to slows down incredibly!   Having a tool to help objectively.   We use Clockify to easily keep track of our Consulting work which allows us to break-down where we’ve spent our time.


🤣 A spot of Humor

Sometimes I believe this is reality…


🗣️ 💭 Quotable quotes

  • Whatever Your Mind Can Conceive and Believe, It Can Achieve. — Napoleon Hill
  • If you spend too much time thinking about a thing, you’ll never get it done — Bruce Lee
  • There’s more pay off from self-improvement than improving anything else — Dan Kennedy
  • Work hard, play hard. Think harder. — John Carlton

The-Automator

Joe, Isaias, and staff

P.S. I seriously think you’ll be kicking yourself if you don’t sign-up for the
AHK Hero membership!
It’s an amazing value and will help you get more done in far less time avoiding a ton of anxiety 😧
by having AHK experts by your side so you can quickly ask questions and get pointed in the right direction!


August 1st, 2022

Howdy %Name%,

Andrew Carnegie, American Steel industrialist and one of the wealthiest people ever, once said:

A man’s reading program should be as carefully planned as his daily diet, for that too is food, without which he cannot grow mentally.

Carnegie was such a believer in books he established a foundation to create the public library system we know today.

Why Andrew Carnegie opened 3500 free libraries


Why Andrew Carnegie opened 3500 free libraries

I’m a huge reader of books and try and read every day.  One of the best ways you can ensure you “feed your brain” is by reading and, I believe, it should be something you add to your daily schedule.  If you don’t it is too easy to push it off in lieu of other “more pressing things”.

Back to the quote: it isn’t just that you’re reading, but WHAT you’re reading.   When I was in my early 20’s I read fiction but, when I realized how much more empowering it was to read “self help” books I gave them up as I wanted to invest in myself!   I hope you’re taking the time to plan out what you’re reading and do your best to do it at regular intervals.

Now on with the show…

Debugging window regardless of the Editor

As you might know I’m a huge fan of AHK Studio for AHK and SciTE4AutoHotkey for all other programming while Isaias uses VS code.  All three are very solid editors with their pros & cons.   What was annoying though was, when I’d work on a script and then ask Isaias to run it we’d have to look at my use of the AHK Debug Window or SciTE Debug window and adjust it for the OutputDebug syntax in VS code.   I wrote a very simple AutoHotkey function that looks at the editor you’re in and then adjusts for you!

Debugging your scripts: Displaying text regardless of editors


Debugging your scripts: Displaying text regardless of editors


Thinking of swapping editors / IDE?

Using the “right” editor is a great way to simplify your code writing.  In this video I discuss which one you should probably use depending on your skill level and need.  Did you know we have a simple tool for swapping your default editor?  AHKEditSwap makes it easy to change your default editor.  This means you can give an editor a try and easily change between them!

Which is the best AutoHotkey editor for you (2021) | You just may be surprised!

Which is the best AutoHotkey editor for you (2021) | You just may be surprised!


Misleading AutoHotkey error: Parameters of Hotkey Functions must be Optional

I’d seen this error before and new how to fix it but I never understood what was actually going on.   On March 8, 2015 in update version 1.1.20 “Hotkey Functions” became a thing.  Someone thought it would be really helpful to be able to assign a function to a Hotkey or HotString.  Personally I hate this kind of nuance.  Just call the function …   Anyway I documented it in this video

🤦‍♂️ AHK error: Parameters of Hotkey Functions must be Optional | Blessing or Curse❓


🤦‍♂️ AHK error: Parameters of Hotkey Functions must be Optional | Blessing or Curse❓


Formatting text with AutoHotkey

Isaias and I created a cool little tool the other day and wanted to format a string.  We ended up using the Format function which is amazingly powerful however is also very complicated.  In this video I demonstrate some of the basics to using it with text.

AutoHotkey format function (change case, decimals, padding, etc.)


AutoHotkey format function (change case, decimals, padding, etc.)


Cool example of AutoHotkey usage by YouTuber

Here Paul M. (a YouTuber) demonstrates a pretty neat usage of AutoHotkey. He shows how you can Make PCSX2 beginner-friendly with AutoHotkey


Making PCSX2 beginner-friendly with AutoHotkey


Making 💲 with AutoHotkey

Someone asked me the other day about making money with AutoHotkey.  I tried to explain to him the various ways you can earn money with AutoHotkey but then I remembered I had a great discussion with Jackie Sztuk in this video.

How to make money selling software


# 67 AutoHotkey Podcast: How to make money selling software


📚 What we’re reading


⚡️Productivity tips

One of the best ways to get more done is to set clear deadlines and stick to them!
Having a tight deadline🏃‍♀️ will ensure you “get ‘er done” and it will ensure you’re working at a fast pace and don’t lag.
Make sure you have deadlines for nearly everything you do!


🤣 A spot of Humor

This reminds me when we were teaching our kids how to play poker.


AHK Hero?

the AHK Hero club is turning out to be one of the best things we’ve done! In addition to discounts to courses during our private sessions.
they are also learning a ton (and helping each other in our private Telegram group.
I highly recommend you give it a try. The sale price of $5.99 a month will be ending next week reverting to $14.99 per month. Grab it up while you can! Click here to learn more.


🗣️ 💭 Quotable quotes

  • Whatever Your Mind Can Conceive and Believe, It Can Achieve. — Napoleon Hill
  • Build your own dreams or someone else will hire you to build theirs —Farrah Gray
  • Long questions require short answers. Short questions require long answers

Live AutoHotkey Support Tomorrow

Don’t forget on Friday’s you can get free AutoHotkey support on my YouTube channel.  Or you can sign up for reminders and join the zoom room.



The-Automator

Joe, Isaias and staff

AutoHotkey Webinar 10/2021: Creating and Using AutoHotkey Functions

AutoHotkey webinar AutoHotkey functionsHour 1: Intro to Functions

Hour 2: Q&A Styles and helping Attendees

Script Highlight:  Times around the world by jeeswg

The Automators’ Podcast 

#113: 7 reasons to talk to others about your programming
#114: 5 tips how to reduce the amount of personal support you provide
#115: What is an idea worth? How much $ should you pay the “idea person”?

Resources presented in Webinar

What is a Function?

  • A function is similar to a subroutine (Gosub) except that it can accept parameters (inputs) from its caller.
  • In addition, a function may optionally return a value/values to its caller.

66 Built-in AHK Functions https://www.autohotkey.com/docs/Functions.htm#BuiltIn

  • Polythene’s Command functions https://github.com/Paris/AutoHotkey-Scripts/blob/master/Functions.ahk
  • jeeswg commands as functions (AHK v2 functions for v1) https://www.autohotkey.com/boards/viewtopic.php?f=37&t=29689

Some main benefits of Functions

  • They can be used without storing value
  • You can have multiple on one line / nest
  • Scope is limited (both a blessing and a curse)
  • You create functions to “wrap” complex code which greatly simplifies it’s usage
  • Via a DLL call you can leverage TONS of functions outside AutoHotkey!
  • Variadic functions take a “variable” number of parameters

Built-in AutoHotkey functions

  • Using built-in Functions (here are a couple examples)
  • SubStr(String, StartingPos [, Length])
  • Round(Number[,N])
  • Trim()
  • StrSplit(String , [Delimiters, OmitChars, MaxParts])

Highlights:

  • Positional parameters (the order matters they’re not named parameters)
  • Required parameters
  • Optional parameters

Creating your own Functions in AutoHotkey

  • Why you want to create them
  • Defining a Function verse Calling a function
  • Working with SCOPE
  • Global
  • Static
  • byRef

What we’ll cover:

  • Accessing variables outside your AutoHotkey function
  • Passing parameters
  • Setting default values for your parameters
  • Returning value
  • Returning more than 1 value (byRef & Objects/Arrays)
  • Using the #Includes directive and Function Libraries

Biggest things that will trip you up!

  • Scope seems like a design flaw however it is a great benefit. Most noobs (and even seasoned programmers) will sometimes forget they are inside a function and try and access a variable outside the function
  • Forgetting you returned an object and trying to access it as a variable
  • Making something Global and then reusing the variable in something else

Skins & Styles – Dimitri  (I’ll work on a working example to include here)

Dimitri Geertz joined the webinar and demonstrated his work using the skinsUSkin.dll.

You can learn more about it here in the forum post

or this post from CodeProject

I made this video which shows how simple it can be.  You can download the script below

Tips & Tricks for using functions in AutoHotkey

functions in AutoHotkeyAutoHotkey Merchandise-White Stress ballFunctions in AutoHotkey are a great tool to have in your bag!  They can definitely help simplify your code, ease re-purposing of code and avoid a lot of simple mistakes by keeping the variables local (instead of global).  AHK Studio is an editor written in and for AutoHotkey.  It helps both noobs & gurus write great code and is worth a deep look!

The below video reviews a few tips & tricks for working with functions.

Functions in AutoHotkey

Streamline your code by Utilizing Includes in AutoHotkey

how to use Includes in AutoHotkeyAs I previously reviewed, functions in AHK rock!  The below video demonstrates how easy it is to use the utilize the includes in AutoHotkey to leverage functions & libraries that are not in your main file.

Without using the include command AHK will first look in your local library, then look under the myDocuments\AutoHotkey\Lib\ folder and finally under path-to-running-AutoHotkey.exe\lib\.

Includes in AutoHotkey

 

 

 

 

 

By using the #Include Directive you specifically tell AHK to “include” the file in your script.  Using Includes in AutoHotkey is an amazing way to keep your code clean and organized.

Using Includes in AutoHotkey