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

October, 2022 AutoHotkey Newsletter

October 2022, AutoHotkey Newsletter

AutoHotkey Newsletter

AutoHotkey Newsletter: October 27th, 2022

Howdy %Name%,

You know how real estate prices recently went nuts?
I know, I know, there’s a ton of money in real estate. Long ago I realized there was something that returned a MUCH better return-on-investment, and the risk was pretty much zilch

It’s my brain 🧠❗

In my head, I can solve all sorts of problems and people pay me huge bucks to do so.
I am in the investment game.  It’s just that I don’t deal in real estate, or stocks or bonds, or anything else “physical”.

I deal in brain power⚡.  Giving advice and writing code that changes lives and alters the future.
Invest in yourself and learn.

Now on with the show…



The magic of AutoHotkey

The magic of AutoHotkey


Forcing any program to always be on top

If you’re using a laptop, my Window Snipping tool is super helpful to keep parts of your window and then easily removing it later.   But sometimes it helps to change a program to be always on top.  In AutoHotkey it is amazingly simple and I show you how to do it here.

How to easily set any program to stay on top of all others❗

How to easily set any program to stay on top of all others❗



Adding a thousands separator to your numbers

Often we have values that we’d like to display in AutoHotkey.  In this video I show a simple RegEx provided to me years ago by Maestrith (author of AHK Studio).  The nice thing about this function is you can decide on the separator (in the U.S. we use a comma however other parts of the world they use a period).  If you’re new to Regular Expressions, I highly recommend you take a look at some of these tutorials.  For testing Regular Expressions I like to use RegEx101 and have this AHK Quick reference page open.  You also might want to work through Jack Dunning’s excellent AutoHotkey book on RegEx (I did❗).

How to easily add thousands separator to a number in AutoHotkey

How to easily add thousands separator to a number in AutoHotkey


Functional vs. Procedural programming

Do you know the difference between Functional vs. Procedural programming❓  Neither did I however Isaias walked me through some of the main differences in this video.

Functional / Procedural VS. Object Oriented Programming languages

Functional / Procedural VS. Object Oriented Programming languages


Outlook emails

For our clients we’ve been doing a lot of Outlook automation.  Since Outlook has a COM object it is really easy to automate with AutoHotkey.  In this video I demonstrate how to easily get a few items.  If you’d like to learn more, you might check out our Webinar where we showed several examples of automating Outlook.

Outlook Email Object- Getting Name, email, Send date, etc.

Outlook Email Object- Getting Name, email, Send date, etc.


WMI: Windows Management Instrumentation

There is no easy way to describe  the amount of ways you can easily poke & prod windows using WMI.  In this video I demonstrate many of the functions you can use to pull information out of your Windows environment.

Windows Management Instrumentation (WMI) and AutoHotkey

Windows Management Instrumentation (WMI) and AutoHotkey


📚 What we’re reading


⚡️Productivity tips :  Make important behaviors measurable

To make progress toward any goal, it helps to track our progress.  Monitoring your progress is a great way to make sure it gets done (and gives us great ways to evaluate how efficient we are being


🤣 A spot of Humor

Thankfully we have AutoHotkey


Quick Access Popup news

Want to easily access your mobile devices?  Quick Access Popup has some great built-in tools for doing this!  In this video Jean Lalonde, the author of Quick Access Popup, shows how to access and use them.


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

  • Absorb what is useful, reject what is useless, add what is specifically your own — Bruce Lee
  • If you want something done, ask the busiest person you know to do it and stand back!
  • I never lose. I either win, or learn. — Nelson Mandela

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

P.S.  Did you see that we added a Saturday session to the AHK Hero calls?   So for those of you that are too busy at work during the week, we now have a weekend call to join!


AutoHotkey Newsletter: October 20th, 2022

Howdy %Name%,

Do you have a checklist for your important processes?

Humans are amazing at some things and not so great at others.

We can often be very creative, using our imagination to solve very complicated problems far greater than any computer that has been created!  We’re even very good at identifying patterns and coming up with a routine or process.  What we’re not good at is always using that process.

We often get sidetracked, distracted, or are just not thinking critically and forget.

How many times have you gone to the store to buy something specific only to get home and realize you didn’t buy the one thing you went there for?    That’s where having a list is incredibly helpful!

“Create a checklist for all important procedures”

There’s a reason why pilots have one! ✔

Now on with the show…



📢 Big News for the 🅰HK Hero members 🦸‍♂️ 📢

Our AHK Hero community is growing & expanding!

We’re adding a Saturday session!😲   So now we’ll be having 3 hours of availability per week.

Find amazing friends & learn AutoHotkey in the AHK Hero Community

Find amazing friends & learn AutoHotkey in the AHK Hero Community

Our office hours sessions are getting to be quite fun and educational.  Its really great to be able to connect with others that share a passion for automating the mundane!

If you haven’t joined yet, I highly encourage you to take the leap!    If you’d like to read some testimonials, or learn more, you can do so here.

As a final note I’d like to mention we’re going to “cap” entries pretty soon.  We don’t have the bandwidth for more sessions and I want to make sure members have time to ask their questions so, if you’re considering joining, now is the time!   For the end of the week the ½ off coupon is still valid.  Use “50PercOffLiveSubs” on checkout (good for 3 more days).


Using Fiddler to help with an API

During last week’s call an 🅰HK Hero was having problems working with an API.  I asked if he had used Fiddler to analyze his traffic.  He hadn’t however I stressed he watch some of my Fiddler videos to better understand what is being sent (and what he thought was being sent).   Interestingly enough, later that day, Isaias was having issues with an API and we used Fiddler to identify the problems we were having.  APIs are amazing but they can be complex.  Our webinar on APIs is a great place to start!

AutoHotkey Webinar 06/2017 Hour 1-Web services / API calls with AutoHotkey


AutoHotkey Webinar 06/2017 Hour 1-Web services / API calls with AutoHotkey


Using LIB folders

In a consultation call with a new AHK Hero member (welcome Erik O.) we were helping them better structure their testing framework for AutoHotkey.   (Sort of similar to what Chunjee mentioned in this video but much, much more complex).   Anyway, it reminded me of just how helpful LIBs are and properly using the #include directive can be. Isaias showed us all the testing environment that Lexikos uses with AutoHotkey.

If you’d like to learn more about #include read this post,

Properly using AutoHotkey ❰LIB❱ (and where AHK searches)

Properly using AutoHotkey ❰LIB❱ (and where AHK searches)


Setting a Window to Always on Top

Did you know that, with AutoHotkey, it is super-easy to set a window to always be on top?  In this video I show just how easy it is to assign a hotkey to the process.

How to easily set any program to stay on top of all others❗

How to easily set any program to stay on top of all others❗


Simple GUI for snippets

Y’all know I’m a huge fan of Quick Access Popup.   But sometimes you want something very simple and fast.  In this video I show how easy it is to create a GUI to show you the snippets of text to any edit field.

Easily select from a list and send a snippet of text with AutoHotkey

Easily select from a list and send a snippet of text with AutoHotkey


Debugging your scripts with SciTE4AutoHotkey

Isaias rocks debugging in VS Code but many of y’all are probably more comfortable in SciTE4AutoHotkey.   I have two videos where I show how to debug AutoHotkey code using SciTE.   The first video I show some of the basics.  In the second video I goa bit deeper.

BTW I still use it but do my AutoHotkey programming in AHK Studio.

Debug AutoHotKey with SciTE | Level up your AHK programming today!

Debug AutoHotKey with SciTE | Level up your AHK programming today! How to Debug with SciTE Part 2 | A deeper dive into debugging AutoHotkey code with SciTE4AutoHotkey


Giving an option to Add to Startup Process

I’m on a call right now with a client and Isaias where they are building-in an option into the tool to ask the user if they would like the script to be added to the startup menu.  We were discussing a couple of options (One being updating the registry directly the other creating a shortcut in the Startup folder.)

This reminded me that, in Windows XP & Win 7, it was super easy to add a script / program to your Windows startup process.   But Windows 8 and Win 10 made it more difficult so we created a simple tool to make it easier.  You can review the tool here and, if you’re interested, grab it here.

Add to startup: Easily add / remove programs from Windows Startup

Add to startup: Easily add / remove programs from Windows Startup


📚 What we’re reading


⚡️Productivity tips:  Institute the “Five-Minute Rule”

If you can do a task in five minutes or less do it right away!

If you spend a couple minutes understanding a task, but don’t take action, you’ll have to waste time refamiliarizing yourself with the task at a later date.  Multiply that by dozens of times throughout a week, and you’ll see chunks of time gained back.   It’s better to just “getter done”❗


😢 A spot of Humor Sadness

Make sure you watch this and listen very carefully.  There are some important, albeit tearful, “life lessons” you can learn here:


🗣️ 💭 Quotable quotes

  • Fact: You have just as much time as: Bill Gates, Steve Jobs, Thomas Jefferson & Einstein. It’s all about prioritizing & staying focused (and using 🅰utoHotkey❗)
  • Never be handicapped by your education Dan Kennedy
  • Never let success get to your head🧠, never let failure get to your heart💗

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

P.S. I seriously think you should sign up for being an AHK Hero.  It’s far better value and experience than you think!
Besides what is the risk? Surely a few dollars is worth changing the direction of your life! Sign up now and, if you’re not 💯% satisfied, you can quit at ANY time


AutoHotkey Newsletter: October 13th, 2022

Howdy %Name%,

I talk a lot about self-improvement as I’m a huge believer in investing in yourself over investing in “things”.    With AutoHotkey we’re able to work smarter, not harder!  In Steven Covey’s book “The 7 Habits of Highly Effective People“, habit number 7 is “Sharpen the Saw” (here is a short video illustrating the point.

Earlier last week I read this quote the other day from Jim Rohn

“Work harder on yourself than you do on your job”

My question to you is What are you doing to work on yourself at the moment?

Why not join us in the AHK Hero group?  Its amazing how much we are learning from each other!  While you get great discounts to courses the real value is the time, both in the private Telegram group and on our Office hours calls, where we ask questions and get answers!   Often just seeing how others are using AutoHotkey is inspirational🧠!

Stop being part of the “hustle culture” and start working smarter!

If you use this discount code “50PercOffLiveSubs” , you can become a hero at 1/2 price! however this coupon code is only good for the next 3 people so act now

Now on with the show…



Configure AHK Toolkit for V2

Isaias wrote the AHK Toolkit over 10 years ago!  He’s made small improvements over the years but one great functionality that he’s (manually) added was making it easy to run V2 scripts.  Unfortunately he hasn’t updated the GUI yet so, in this video, he walks through how to make the updates yourself.

Configuring AHK Toolkit for V2


Configuring AHK Toolkit for V2


Sending lots of Text

It’s amazingly simple with AutoHotkey to send text to an edit window!  But your mileage may very when you’re sending a lot of text!   In our HotStrings course I walk through a couple of ways to send large amounts of text.  I decided to put the video up on YouTube so everyone can access it.

How to send a lot of text with AutoHotkey


How to send a lot of text with AutoHotkey


Easily Navigate to Frequently used folders

While we’re on the topic of HotStrings,  a while back I showed how handy it can be to have HotStrings set up for frequently used folders.  I use these many times a day and highly recommend you have some for your frequently accessed folders.

Easily navigate to Folders with HotStrings


Easily navigate to Folders with HotStrings


Refactoring Code

Isaias and I share a lot of code on the-Automator and in our videos however we often don’t show the process the code went through, we just share the finished code.  This makes a lot of sense however it leads people to believe that, what we share, is what we originally came up with.  I saw a pattern in some code I wrote the other day that changes the size of font in text that is selected in either Excel or Word and decided to record a video showing the refactoring process.

Example Condensing Code and Refactoring code


Example Condensing Code and Refactoring code


Comparing lists

A short time ago I shared this video where Chunjee demonstrated various uses of his bigA class.  I didn’t mention it then however it reminded me of this little GUI tool I wrote that simplifies comparing lists.  In this video I show how to use it and how helpful it is!   BTW- it was one of the first GUIs I built!  If you’re new to GUIs, check out our GUIs are Easy course.

Easily Compare lists / comparing sets Sets with AutoHotkey


Easily Compare lists / comparing sets Sets with AutoHotkey


Functions are your lowest-hanging fruit! 🍒

If you’re new to AutoHotkey Functions are, by far, the easiest and fastest way to “level up” your programming skills!  They are essential and you need to learn them today!   I cover some of the basics in this video but I dive deeper in our Intro to AutoHotkey Course.

How to use functions in AutoHotkey| Level-up today!


How to use functions in AutoHotkey| Level-up today!


📚 What we’re reading

Work faster by adding YOUR buttons to the Excel Quick Access Toolbar


Work faster by adding YOUR buttons to the Excel Quick Access Toolbar


⚡️Productivity tips:  Schedule every phone call

To some, a productive day means one spent making phone calls. And that’s OK, but it needs to be predetermined. Schedule your calls, even if it means locking in a schedule in 30-minute increments. It’s worth it!


🤣 A spot of Humor

All jokes aside, true leaders lift up those beneath them.



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.

If you use this discount code “50PercOffLiveSubs” , you can become a hero at 1/2 price! however this coupon code is only good for the next 3 people so act now


🗣️ 💭 Quotable quotes

  • Good leaders don’t make excuses. Instead, they figure out a way to get things done — Jocko Willink
  • You’re like a dull knife that just ain’t cutting. You’re talking loud and saying nothing James Brown
  • Life is better when you start forgiving the people who never apologized. Zig Ziglar

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


October 6th, 2022

Howdy %Name%,

Once upon a time…

There once was this guy who was struggling. He was working 80+ hours a week to get ahead however moving up the ladder was a slow and painful process.

He then attended some training that showed how he could use “macros” to automate his work.  Unlike others in the class, he marveled at the overall concept and forced himself to learn how to use them.

It took a considerable amount of time and energy however, with perseverance, he kept at it and was able to automate much of his work.

For instance, when he started a new job, his predecessor told him a huge part of it was reporting on one project.  She worked from Mon-Friday morning and then had ½ a day on Friday to do other work.

From using macros & automation he was able to create much more advanced reporting that his predecessor and get it done in 10 minutes on Monday freeing up the rest of his week❗

I know this story is true because this is MY story.  Nearly 20 years ago I realized that:

“Knowledge is Power; Automation knowledge is a Super Power ⚡”

Back then I was just automating one program (SPSS).  Now I use AutoHotkey to automate nearly everything❗

And the best part is YOU CAN TOO!

Just keep applying and pushing yourself.  We have plenty of free content and AutoHotkey courses that can help nudge you along however, in my opinion, the best way is to join the AHK Hero club and start learning with, and from, your peers.  If you use this discount code “50PercOffLiveSubs” , you can become a hero at 1/2 price! however this coupon code is only good for the next 3 people so act now

Now on with the show…



bigA is an amazing class for working with Objects, Arrays and Text

An AutoHotkey hero member told me about bigA by Chunjee.  I took a quick look at its methods and was impressed.  Having done some work in Python and JavaScript I was always jealous of being able to easily slice text and perform many functions (like merging arrays, detecting the difference between arrays, etc.).

I reached out to Chunjee (he’s often on our free Friday calls) and he agreed to give us a demo / walk through.   Great job on the video and the class Chunjee❗   Y’all might want to subscribe to his YouTube channel.

Great Class for working with Arrays, Objects and Text with Chunjee

Great Class for working with Arrays, Objects and Text with Chujee

Remember, if you’re new to working with Classes / Objects, our course is a great way to learn them!

Intro to Classes


Basics of Troubleshooting your AutoHotkey Script

I recognize my audience is varied!  Some of y’all are far better programmers than I while others are just starting out.  This video is the second group!  When you’re new to AutoHotkey, it can be very hard to understand what is working and what isn’t!  I extracted this video from the Intro to AutoHotkey course.  It gives some solid tips on what to look for, where to look and things to try.

Troubleshooting your AutoHotkey Script (extracted from Intro to AutoHotkey)

Troubleshooting your AutoHotkey Script (extracted from Intro to AutoHotkey)

Intro to AutoHotkey


Combo lists rock!

Are you creating a GUI with a dropdown?  Did you know that a ComboBox is a great way to jazz it up?  In this video we show how easy it is to convert a DropDown list to a ComboBox.  Such a great way to allow people to add something to the list if it isn’t already there!

Massive improvement to dropdown list & using the Format command

Massive improvement to dropdown list & using the Format command


Semantic Versioning

Did you know that there is often a meaning behind the structure of versioning?  For instance, I’m currently running  AutoHotkey V1.1.34.03.   In this video Isaias explains the meanings and how it can be very helpful to understand (even outside AutoHotkey)

Semantic Versioning: Those numbers have important meaning!

Semantic Versioning: Those numbers have important meaning!


Window Snipping tool with OCR

In our private AHK Hero Telegram channel Mathew F. mentioned a tool he used for OCR (and other things).  I asked him if he used our WindowSnipping tool with OCR.  To my surprise he wasn’t aware of it so I thought I’d mention it here.  If you haven’t updated it recently you might want to grab it now.  Isaias patched a small bug in the script and made some other tweaks.  It’s by far our most popular download.   Don’t miss out!

What amazes me is that having a tool like this changes how you work in many programs!  Give it a try, I guarantee you’ll love it!

Window Snipping Tool now tied to Google Translate

Window Snipping Tool now tied to Google Translate


Automating Outlook 📧

For a couple of Clients we’re automating Outlook.  Outlook has a COM object which allows for some amazing functionality!  In this video I cover some of the basics for automating Outlook.  If you’d like to learn more about automating Outlook you might also want to check out our webinar on Outlook & AutoHotkey.  You can also look at our page on Outlook and AutoHotkey.

Outlook Email Object- Getting Name, email, Send date, etc.

Outlook Email Object- Getting Name, email, Send date, etc.



📚 What we’re reading


⚡️Productivity tips

Planning is one of the simplest, yet productive, ways to get more done.   Putting a little thought into what you’re working on, the order of things, pros/cons of them often lets you realize there are benefits you may not have realized.


🤣 A spot of Humor

This meme is painful because I know how he feels.   %Name%, are you the “free tech support” for friends & family?  I’ll bet you are!


 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  “office hours” sessions which isn’t on YouTube.


🗣️ 💭 Quotable quotes

  • Put systems in place that will allow ordinary people to do extraordinary things
  • You’ll never change your life until you change your daily routine
  • Don’t wait. The time will never be just right. Napoleon Hill
  • Work first, reward second, in order Dan Kennedy

 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

P.S. there are 3 coupon codes left to join the hero program at 1/2 price. Use 50PercOffLiveSubs at checkout

Members agree, this is one of the best ways to level-up.

Join now, what do you have to lose

Easily Edit, Pause, Reload, Open Folder, for any running AHK Script (Works w/o System Tray Icon) with AHKScriptHub

Are you like me having many scripts running but use #NoTrayIcon to hide the system tray icon?  It’s a pain to edit scripts as you have to navigate to the folder and edit the file.  With AHKScriptHub you have control over all running scripts!  Easily pop-open the folder, pause, reload, and more!

Watch tutorial of AHKScriptHub

 

AutoHotkey Webinar- Working with Multiple Scripts & Sharing data / variables between them

In our first hour of today’s  AutoHotkey webinar we talked about working with multiple scripts in AutoHotkey.  How you can break out functions into separate files and leverage the library.

In the Second Hour we did Q&A and discussed other things we typically automate.

The two scripts we highlighted were: Dictionary by Fanatic Guru and iThesauras based of Dictionary by rommmecek.

Working with Multiple Files in AHK

  • Breaking out scripts into separate files / functions (Here is a page several videos on functions)
  • Using #include
  • Lib folder
  • Sharing data between scripts via:
  • Passing via command line parameters
  • OnMessage
  • COM object via Windows Temp Environment variables
  • COM object via custom object
  • Consolidating scripts from multiple files into one

Libraries and #Includes

Libraries

  • A script may call a function in an external file without having to use #Include. For this to work, a file of the same name as the function must exist in one of the following library directories:
  • Local library: %A_ScriptDir%\Lib\
  • User library: %A_MyDocuments%\AutoHotkey\Lib\
  • Standard library: path-to-the-currently-running-AutoHotkey.exe\Lib\

Order of search

  1. Original file
  2. Local Library
  3. User Library
  4. Standard Library
  • If a function is not found, but has an underscore in the name, it will search for a library with everything up to the underscore. (E.g. If your function is named “IE_Load” it will search for a file named IE.ahk and load it)

  Benefits of using Library: 1) Code maintenance, 2) Fewer files to keep track of, etc.  3) Easier to read code

  Negatives of using Library: Sharing code can be a bit more complex

Sharing data between scripts: Command line Parameters

AutoHotkey.exe [Switches] [Script Filename] [Script Parameters]

CompiledScript.exe [Switches] [Script Parameters]

Script Parameters:

  • The string(s) you want to pass into the script, with each separated from the next by a space.
  • Any parameter that contains spaces should be enclosed in quotation marks.
  • The script sees incoming parameters as the variables %1%, %2%, and so on.
  • In addition, %0% contains the number of parameters passed (0 if none). However, these variables cannot be referenced directly in an expression because they would be seen as numbers rather than variables.
  • In the receiver, use Param2 = %2% ;Note NO colon

Pros:  Simple, reliable

Cons: Only works when starting up, One-direction, Only passes strings/variables

Sharing data between scripts: OnMessage

Pass String between scripts with OnMessage

Pros: Simple to Use

Cons: Code is somewhat complex, A bit resource intensive, Pass single variable

Sharing data between scripts: Temp Environment Variable

Create a Temporary Environment Variable and stores it, until reboot, in Registery under: HKCU\VolatileEnvironment

Pros: Easy to use, Variable is Accessible after “sender” exits, Fast, Can use objects / dot-notation

Cons: Pass variables/strings, Character limitation

Sharing data between scripts: Custom COM Object

Registers a unique CLSID (Computer Licence Security ID) in registry  (A CLSID is a globally unique identifier that identifies a COM class object. If your server or container allows linking to its embedded objects, you need to register a CLSID for each supported class of objects.)

Pros:Can pass objects, Functions, Variables,Strings, Bi-directional, Super Fast

Cons: Code is more complex, Can’t use FOR loops to iterate over Objects, Can slow some when passing large data

Consolidating Multiple Scripts into One

  • AutoExec section – (Top of script until first: Return, Exit, hotkey/hotstring label)
  • Hotkeys – Conflicting Hotkeys prevents script from running (Make them context sensitive?)
  • Hotstrings – First Hotstring takes presedent
  • Re-using: Variables , Functions, Labels, Classes cause errors
  • Duplicate code – Often bring in things multiple times
  • Reasons why prefer one over the other
  • Multiple scripts-
    • Sharing scripts is easier
    • Troubleshooting can be easier
  • One Script-
    • One file to edit
    • One script in system tray (Can use #Notrayicon in multiple scritps to help negate this)
    • Ease sharing of code