• Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey Intermediate Objects GUIs are Easy w/AutoHotkey Intro to DOS & AutoHotkey AutoHotkey FAQ1 AutoHotkey FAQ2

July 2022 🅰HK Newsletter

AutoHotkey Newsletter July 28th AutoHotkey newsletter

Howdy %Name%,

Has the non-stop barrage of bad news got that angst of anxiety bubbling up in your gut?

Are you worried about the economy, creditors swarming, job going south and everything else that can happen when the world goes crazy?  This cool trick can help you talk yourself off the ledge.

Write yourself a letter outlining all your troubles & your immediate plans. Be specific; just get it all out of your head (where it’s causing trouble) & onto the written page.

Then take a break. Hide the letter for 24 hours and let your unconscious work on solutions.  When anxiety kicks in, remind yourself that it’s all safely written down, so you don’t need to dwell. Your unconscious has a remarkable talent for organizing things and getting perspective on what’s important and what’s fluff.

Now on with the show…



AHKCon AHKCon

Did you sign up for AHKCon?  Isaias and I are 😃getting excited for the event! Here’s an outline of times & people.  All times are EDT

  • 10:00am-10:15 – Intro (Joe/Thom)
  • 10:15am-11:00 – AHK v1 vs v2 (Panel: Dimitri Geerts, Isaias, Tank, Joe/Thom)
  • 11:00am-12:00 – Prog approach & Which & when (Panel: Maestrith, Tank, Isaias, Joe/Thom)
  • 12:00pm- 1:00 – Objects / COM / Data structure (Lecture: Isaias & GeekDude[helping])
  • 1:00pm- 1:30 – Lunch (Open discussion/ Q&A Joe/Thom)
  • 1:30pm- 2:30 – Regex/String Man.(Performance, simplicity, etc.) (Panel: Isaias, Maestrith, Joe/Thom)
  • 2:30pm- 3:00 – IDEs: Which to use, When, Why (Panel: Isaias, Maestrith, Jackie, Joe/Thom)
  • 3:00pm- 3:45 – Data storage approaches (Panel: Isaias, Maestrith, Jackie, Tank, Jean, Joe/Thom)
  • 3:45pm- 4:00 – Closing (Joe/Thom)
  • 4:00pm- 4:30 – Free open talk


AHKCon Outline and Signup


Have an editable DropDown list

Have you ever created a GUI and used a dropdown list but wanted to be able to type in it if the option you want isn’t available?  Hello ComboBox!   In this video Isaias shows us just how simple they are to create and, near the end, adapt a DropDownList to a combobox is easier than you can believe!  Just more proof that GUIs are Easy in AutoHotkey!

Massive improvement to dropdown list & using the Format command


Massive improvement to dropdown list & using the Format command


Connecting to the Correct instance of a COM Object

We were working on a project for Thomas, an AHK Hero, where we connect to MS Word.  Unfortunately we discovered a really weird problem that, sometimes, MS word would have multiple instances running and ComObjActive would return the wrong instance.  I mentioned to Isaias that, in my Excel Function library, I used the ACC library to loop over all instances of Excel and find the right one.   Isaias took a look at the example and generalized it so it could easily be used for other programs with a COM object.   This is just one of the reasons learning Objects is really helpful!

How to connect to the correct COM object in MS Office Programs


How to connect to the correct COM object in MS Office Programs


Looping over an Object in a For Loop

Another 🦸‍♀️hero wrote us with a problem they were having looping over an object in a For Loop.  We were looking at the code when I realized the problem. We thought we’d document it as it can be a bit confusing when you first start looping over objects.

Avoid this simple mistake when working with a For Loop


Avoid this simple mistake when working with a For Loop


Creating a class that automatically executes code?

Isaias realized, in AHK Version 2, there’s an interesting way you can build your code where you have an object that will get executed (without being called).   We also discussed how, conceptually, the idea of private and public methods can be compared to API calls.


How to Auto Execute Classes


Easily accessing properties from UIA

While the new UIA library is amazing, it is a bit complex!   In this video Isaias shows how you can access some properties and methods that might trip you up.  This came up because, during our free live call on Friday, someone wasn’t able to get the value of an href.


How to easily access properties from UIA


LiveLive 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.


📚 What we’re reading / Watching


👨‍🏫 AutoHotkey GURU  Interview: Dr. Gabriel Cook

A long time ago I got one of my best friends into AutoHotkey.  In this interview I chat with Gabe about what he’s done with AutoHotkey, how it’s changed his life, and how much fun it is when we have our “code-cations” (we take a week off of work and get together learning something).

Examples of AutoHotkey |AutoHotkey Experts: Gabriel Cook


Examples of AutoHotkey |AutoHotkey Experts: Gabriel Cook


⚡️Productivity tips

Put it all down on paper.  I’m pretty sure it isn’t just that I’m “old school”.   Our brains work differently when we write things down.  Also organizing on paper is way different than on a computer.  I highly recommend writing your ideas, goals, etc. down and then let your subconscious work on them!  There’s the added benefit mentioned above how you’ll remove some of the stress trying to keep it all in your head.


🤣 A spot of Humor

How many of these 7 signs do you have? Hillarious video❗


Top 7 signs you're a Programmer.


QAPbr Quick Access Popup news

I had a chat with Jean Lalonde the other day.  As y’all are painfully aware, if you compile a script and send it to someone it’s fairly likely it will get flagged as a virus.  One work around is to get a certificate and sign the executable.  Unfortunately this costs a significant amount of money.   Jean just spent $500 which will cover the next 3 years and is looking for donations to help recoup his costs.  So, if, like me, you’re a QAP enthusiast, you might consider making a donation.  I contributed $25 because I don’t want a world where QAP doesn’t exist.   What’s it worth to you?


Certifying executables  QAP


AHKHeroAHK 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.  Pretty Soon they will have access to a members-only Telegram group where we can all help each other.


🗣️ 💭 Quotable quotes

  • Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.Thomas Edison
  • What you plant now, you will harvest later — Og Mandino
  • Treat objections as requests for further information — Brian Tracy
  • It’s not how much you screw up that counts. Nope. It’s how you fix your messes that matters. — John Carlton


The-Automator

Joe and staff


P.S. Special thanks to the following for purchasing AHK hero membership
Rodrigo C., Nathan N., Michael C., Miral P., Thomas K., Rune O., Thomas D., Tyler F., Guy M., Dale W.,
Robert P., Gil C., Mathew F., and Ernestas G.

and for these people purchasing multiple Udemy courses
AutoHotkey Udemy courses this month!

  • 3 Victor S.
  • 2 Vytautas S.
  • 2 Scotty N.
  • 2 S. B
  • 2 Rhett Y.
  • 2 Leo O.
  • 2 Kenny N.
  • 2 Jordan
  • 2 Jalal i.
  • 2 Goh o.
  • 2 Estevan o.
  • 2 Edward s.
  • 2 Albert n.

July 21st AutoHotkey newsletter

Howdy %Name%,

When we are trying to turn a “no” into a “yes” we often try and approach it “logically” presenting a “strong argument”.  Sadly, more often than not, this doesn’t convince anyone of anything and just embeds people on their opposing point of view.   A much better approach is to avoid the conflict entirely and come in through the side door.

People are much, much more accepting if they believe it is “their” idea.  So start off by just agreeing with what they say.  Don’t argue, don’t put up a fight.  You can even compliment them on their idea.  Then, at a later point in time, come back to them and ask if you can make a small tweak to their idea.

In my experience It’s amazingly effective and so much more pleasant of an experience.  What’s really amazing is how much you can change the approach, yet people will still agree with it (partially because they believe it’s their idea but also because time has passed and they think “he was nice and agreed to me at first so I’ll let him have these changes.)  I learned this approach from the amazing book by David J Lieberman: Get Anyone to Do Anything (affiliate link).

Now on with the show…



AHKConAHKCon is approaching fast!

As I mentioned before the first AHK Convention is planned for Saturday August 6th from 10 EDT to 4:30 pm.  You can see what topics will be covered here.  Or sign-up for the event.


Properties & Methods in UIA

During last Friday’s live call we had a guest that was trying to get the text of an element that had a URL.  While UIA is amazing, it can be a little tricky so we made this video showing what you’ll have to do in order to get some properties or use some methods.  You can watch all of our UIA videos from this UIA YouTube playlist

How to easily access properties from UIA


How to easily access properties from UIA


Working with Objects in For Loop

Speaking of Friday calls… We had an AHK Hero reach out and ask for some troubleshooting when looping over an object with a For Loop.  This seemed like something that people new to objects would run into so we made a video walking through how to do it.   If you’re interested in learning more about the Loops, I cover 5 types in the Intermediate AHK course or, if you’re ready for a deeper-dive, Check out our Intermediate Objects course.  Both happen to be on sale at the moment!

Avoid this simple mistake when working with a For Loop


Avoid this simple mistake when working with a For Loop


Getting the correct Instance of COM objects

On a client project we ran into a little snag where, when we’d try and get the active MS Word object, it wouldn’t always return the correct one.  I told Isaias I think there was something in my XL Function library that we could learn from.  Sure enough, we were able to port the approach over and expand on it.  The new approach should be easy to update for most programs with a COM Object (we also created a V1 and V2 version)

How to connect to the correct COM object in MS Office Programs


How to connect to the correct COM object in MS Office Programs


Fast image search (on windows that are obscured)

Yesterday I was chatting with Shin from the Spawnova channel the other day.  It reminded me of the video we did about his amazing class that is crazy fast and finds images that don’t even have to be on-top!

👀How to perform Fast image search on Covered windows w/Spawnova


👀How to perform Fast image search on Covered windows w/Spawnova


Auto-Executing Classes in V2️⃣

Isaias is working a lot in AHK V2 these days.  In this video he walks through how to create an entire script that will be an object and run when launched.  We also discuss the general concept of private verse public methods.   Classes are amazing and incredibly helpful writing better organized code!  That’s one of the main reasons we created the Intermediate Objects course


How to Auto Execute Classes


Intro to Classes


📚 What we’re reading

⚡️Productivity tips

Never give up, never surrender (Galaxy Quest)


🤣 A spot of Humor

A friend of mine sent me this the other day.  Brilliant!

6figures


AHKHeroAHKHero

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

  • Today is always the most productive day of your week. — Mark Hunter
  • What I lack in Skills & Abilities I make up for with Optimism & Determination
  • Not everyone likes you. — John Carlton
  • Nobody goes there anymore. It’s too crowded — Yogi Berra

LiveLive 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 and staff

P.S. Special thanks to the following for purchasing AHK hero membership
Rodrigo C., Nathan N., Michael C., Miral P., Thomas K., Rune O., Thomas D., Tyler F., Guy M., Dale W.,
Robert P., Gil C., Mathew F., and Ernestas G.

and for these people purchasing multiple Udemy courses
AutoHotkey Udemy courses this month!

  • 3 Victor S.
  • 2 Vytautas S.
  • 2 Scotty N.
  • 2 Rhett Y.
  • 2 Leo O.
  • 2 Jordan
  • 2 Jalal I.
  • 2 Goh O.
  • 2 Estevan O.
  • 2 Edward S.
  • 2 Albert N.

July 14th AutoHotkey newsletter

Howdy %Name%,

Well summer has definitely hit here in Texas!  I was out working on a car in 104 degree weather 🔥 and felt like I was melting!  I bought a car that had been in an accident off a good friend (without actually seeing it).  It’s a 2010 Dodge charger with a 5.7 liter V8 Hemi engine.  It’s amazingly fun to drive (but not to fill with gas).

As I mentioned before, my son is 15 and will be driving soon so, at some point, I’d need to have another car so I can give him my current vehicle (a 2003 Toyota Echo).  I bought the Echo 15 years ago and it’s been an amazingly reliable car.  In all those years I’ve never washed it (other than strategically leaving it outside when I knew a hard rain was coming through).

Some people would probably be mortified to take a drive in it but I just don’t give crap!  All my life I’ve found ways to save 💲 without sacrificing quality.    When I worked in Corporate America and had to wear suits, I bought all of them from 2nd hand stores.  Even the tuxedo I got married in was bought for $10 at a Goodwill.   Many people would be embarrassed to mention this but not me.  I’m proud to!  You see, when I was ~14 I lived with my grandmother for a few years.  She lived through the “great depression” and I picked up some really good habits from her.  😊

It’s probably one of the reasons I’m so passionate about AutoHotkey!  It’s not “sexy”,  nor is it expensive however it can be super reliable which is what I really care about.   If your AutoHotkey scripts aren’t reliable then you might want to take a deeper look at how you’re using it.  Most people start using AutoHotkey by imitating human actions (like sending mouse clicks or key-strokes) rather than a programmatic approach (using COM, APIs, Controls, etc.)

If you’re wishing your automations were more reliable consider working through some of our courses or just schedule a consultation with us to point you in the right direction.

Now on with the show…



Amazing lessons on UI Automation with Descolada

It’s been an amazing week of discovery!  We’ve had some epic calls with Descolada out of Estonia.  He’s the author of the main updates to the UI Automation.

In this video Descolada teaches us about Patterns and other great tips for working with UIA & AHK

UI Automation patterns & Other GREAT tips for UIA [MUST WATCH❗]


UI Automation patterns & Other GREAT tips for UIA [MUST WATCH❗]


Here Descolada gives us some amazing insights if you’re trying to Automate a Chromium based App


Automating Chromium based tools with UI Automation: Descolada wows us again!


And this video he shows us how to do some basic web scraping with UIA


How to Automate Chrome with UIA


Easily use color highlighting to an Edit control

Last Friday Thom, from TABNation, mentioned he was building an IDE in AutoHotkey.  I told him about the call I had years ago with Maestrith and why, in AHK Studio, he used a Scintilla Control.   You might have seen this video where Isaias explains what a Scintilla Control is but I asked him to demonstrate how we can actually create and use one with AutoHotkey.  I’m really glad I did because I didn’t realize just how easy it is!😃

How to easily add color highlighting to an edit window with a Scintilla control


How to easily add color highlighting to an edit window with a Scintilla control


Creating responsive GUIs

I had a call with a client a while back that was stuck on creating a responsive GUI.  Isaias helped explain what is going on and the steps you need to take in order to build a GUI that is responsive in AHK.  If you’re new to GUIs, Isaias lead our GUIs are Easy course which is AMAZING!

How to easily Create a Responsive GUI


How to easily Create a Responsive GUI


📚 What we’re reading


👨‍🏫 AutoHotkey GURU  Interview: Jean Lalonde

Really fun to re-watch this video with Jean from 2018.  Jean’s lead several AHK Webinars for us and, in this video, we learn a bit more about him and his background with AutoHotkey & other tools.


Examples of AutoHotkey |AutoHotkey Experts: Jean Lalonde


⚡️Productivity tips

Having a routine is a very common pattern amongst top performers.  Busy people need to be very organized and structured.  For example Ellon Musk, Steve Jobs, and Bill Gates were all strong believers in having a routine and sticking to it.  Do you have one?


🤣 A spot of Humor

Can you imagine watching this?    Old woman disappears in lake & emerges young


Woman Disappears In Lake | Just For Laughs Gags


AHKHeroAnimation AHK Hero?

Are you enjoying our free YouTube channel?   You might not be aware but I don’t earn much from YouTube for people watching the videos.   On average I make around $130 a month for the ~1,300 videos we’ve made.  Considering I pay Isaias for his time, and I don’t get paid, creating videos isn’t something we do as a source of income.  It’s one of the reasons we created the AHK Hero program.  Joining allows you to make small contributions (currently $6 a month).  Of course, by joining the 🦸️AHK Hero club you do receive big discounts to courses, consultations, tutoring, done for you project work.  They also have access to exclusive & pre-released content and a 2nd “office hours” session which isn’t on YouTubeSign-up to help subsidize creating more quality content!


🗣️ 💭 Quotable quotes

  • Knowledge is power; Automation knowledge is a “super-power”💪 — Joe Glines
  • Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time. — Thomas Edison
  • Stop arguing. — John Carlton

LiveLive 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. Special thanks to the following for purchasing AHK hero membership
Rodrigo C., Nathan N., Michael C., Miral P., Rune O., Thomas D., Tyler F., Guy M., Thomas K., Dale W.,
Robert R., Gil C., Mathew F., and Ernestas G.

and for these people purchasing multiple Udemy courses
AutoHotkey Udemy courses this month!

  • 2 Leo o.
  • 2 Jordan
  • 2 Estevan o.

July 7th, 2022 AutoHotkey Newsletter

Howdy %Name%,

My contractor, just like most, has very rigid policies, and I get annoyed every time I call. Every question gets a “No

“Can I get an estimate over the phone?” Nope. “Can I get a ballpark range?” Not a chance.

What I hate more is that they are right❗  Let me explain…

At first, this really irritated me. I mean, why are they stubborn about this?! Then I realized that it’s actually best for them and me.

You see, just like in automation, every job is different.   Some jobs are super-simple while others turn-out to be a royal pain.  If we simple took the “simplest” approach (let’s say sending keystrokes & mouse clicks) we could probably come up with an idea of how much it would cost to automate something however, as I’m sure you’re painfully aware, that would lead to tools that often break and are troublesome.

This, of course, would also give clients the general impression that either AutoHotkey sucks or worse (that we suck!)  This is why, when we do project work, we always take time diagnosing the best approach taking into account many factors such as:

  • Who will maintain the code
  • How many computers will it run on
  • Who will be running the code
  • Will a GUI facility / help the script?
  • How frequently the code is going to be used
  • What happens if/when it breaks
  • What technology is available (COM, Controls, DLL Calls, UI Automation, API, etc.)
  • Has someone else already automated the programs we’re working with (Search AHK forum, StackOverflow, Reddit, our libraries, etc.)

It’s a lot of the same considerations we do when we help clients with their code in a consultation where we are not the ones that will be doing the work, but someone wants to get expert advice as to what is the best approach to take.

If we, or contractors, were to take the approach of giving ballpark figures we would be:

  • making a wag (wide ass guess)
  • planning on taking a fast/cheap approach regardless of what should be done
  • padding the numbers to make sure it covers the costs of times where it is harder than expected

So cut your contractors (and us) some slack when you aren’t able to get an estimate without having a discussion of what actually needs to be done.  Chances are someone is trying to be sure to give you a realistic figure.

Now on with the show…



Avoid these mistakes with the LIB folder

We notice many people new to AutoHotkey often don’t fully understand how to reference the AutoHotkey Library folder.  In this video we walk through some of the key points to using it.   I love using the LIB folder and have a ton of functions in there so I don’t need to use the #Include directive.

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

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


Using a 🇯ava🇸cript API

One of our clients wanted to leverage his  Regular Expression written in JavaScript.  He’s using it on an MS Word document to examine text and automate hyperlinking known items.  Since it was code was quite complex we needed a more sophisticated way to access JavaScript. In this video we show how we’re accessing JavaScript from within AHK! Very cool😎

How to execute JavaScript within AutoHotkey V2

How to execute JavaScript within AutoHotkey V2


Just how much time do you waste?

I asked Isaias to create a simple GUI to help calculate how much time we waste.  GUIs are very helpful to show data to non-coders.  If you’re new to GUIs you might consider our amazing GUIs are Easy course.

How much do you waste? Creating a simple Waste Calculator

How much do you waste? Creating a simple Waste Calculator


Getting an ID for UI Automation

One would think that when you get an “Automation ID” for UI Automation it would be unique (like an ID on webpage) however sometimes it’s pretty clear that the ID isn’t unique.  In that case you need to do some investigating to determine how you’ll be able to, uniquely, Identify the element.   In this video we talk through some of the approaches and also discuss the two stages (Discovery & Implementation).  We’ve seen many people always using the discovery tools (even after finding their IDs) which greatly slows-down the process.  If you’re enjoying this series, please make sure you comment in the video as it’s our lead indicator as to what we should focus on.

How to find a Unique ID for your automation & speed up your code❗

How to find a Unique ID for your automation & speed up your code❗


AHKHeroAnimationAHK 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.  With it on sale it’s $1.50 per week. 😲   The members have really enjoyed the calls so far.  Hope you consider joining


📚 What we’re reading


👨‍🏫 AutoHotkey GURU  Interview: Mason George

In this interview I chat with Mason out of Colorado.  Mason also lead our webinar on classes.  Amazingly Mason has been programming since he was 13!  I love talking to people that started programming early!  I think their brains get “wired” a little different than the rest of us…  😊

Examples of AutoHotkey |AutoHotkey Experts: Mason George

Examples of AutoHotkey |AutoHotkey Experts: Mason George


⚡️Productivity tip: Learn to say No

Saying no can be hard however it is one of the best ways to boost your productivity.  Reducing the amount of work on your “to-do” list is, by far, the way to truly gain huge amounts of time back into your day!  At one job I stopped doing a report (no, it wasn’t the “TPS report”) and gained a whole week back out of my month.   I had one client, out of ~50, ask what happened to the report and I just told her we found people weren’t using them.  Boom❗  25% more productive!


🤣 A spot of Humor

I’m at the age, and shape, that this is pretty accurate for me now…  Getting old sucks however it is better than the alternative!

machine


🗣️ 💭 Quotable quotes

  • Whatever Your Mind Can Conceive and Believe, It Can Achieve. — Napoleon Hill
  • While one person hesitates because he feels inferior, the other is busy making mistakes and becoming superior. — Henry C. Link
  • You can observe a lot by just watching — Yogi Berra
  • Spending time with someone is more important than spending money on them. — John Carlton

LiveLive 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. Special thanks to the following for purchasing AHK hero membership

Rodrigo C., Nathan N., Michael C., Miral P., Rune O., Thomas D., Tyler F., and Guy M. Thomas K. Dale W. Robert R.

and for these people purchaseing multiple Udemy courses
AutoHotkey Udemy courses this month!

  • 2 Jordan
  • 2 Estevan o.

P.P.S.  a customer reached out a while back.  He was in the Intermediate AutoHotkey course but weren’t sure if they were ready for the Intermediate Objects course.  I mentioned the Intermediate Objects course does cover basics of Objects but the Objects course goes way, way beyond that.  The dilemma was that the Objects course was on sale for ½ off but he wasn’t ready for it yet.  I told him not to “sweat it” and to go ahead and finish-up the Intermediate AHK course.  If/when he wanted to buy the Objects course I’d create a coupon to allow him to buy it at the sale price.   Well today he said he was ready to move forward so I created a coupon dropping the price from $99 to 💲49.   Since I was there I decided to create a few extra for y’all.   I saw he used the 1st coupon but there is 1 still available.  If you’re on the fence about buying it, now is a great time…   The coupon code is: “cd50PERCENT” and needs to be used during checkout.


Intro to Classes

Easily automate any program with UI Automation and AutoHotkey

This is freaking amazing news! 😲😲😲   UI Automation is finally “easy” in AutoHotkey.   Here is a link to the class mentioned in the video.  And this is the code on git

Get the Inspect.exe script

Also go here to review the UIA YouTube Playlist (but below should be a list of all of the videos)

1) How to easily automate nearly any program with the UI Automation API

How to easily automate nearly any program with the UI Automation API


2) Automating a program where your element doesn’t have a name with UI Automation and AutoHotkey

Automating a program where your element doesn't have a name with UI Automation and AutoHotkey


3) Deep-dive into UIA with Descolada

Diving into UI Automation with the author Descolada

4) UI Automation patterns & Other GREAT tips for UIA [MUST WATCH❗]

UI Automation patterns & Other great tips for UIA with AHK


5) Automating Chromium based tools with UI Automation: Descolada wows us again!

Automating Chromium based tools with UI Automation: Descolada wows us again!


6) How to Automate Chrome with UIA

How to Automate Chrome with UIA


7) How to easily access properties from UIA

How to easily access properties from UIA


🅰HK News / June’s AutoHotkey Newsletter

AutoHotkey Newsletter

June 30th, 2022

Howdy %Name%,

A mother was talking to her son in the morning. Her son was saying he didn’t want to go to school. That nobody likes him, and that all the kids make fun of him. To which she responded “Well you have to go to school today, you’re not sick. You have no excuse. Besides you’re the principal! 🤣

While I find this joke hilarious, the point is we all have things we don’t want to do. Learning something new is “work” but typically well worth the payoff! I made our AutoHotkey courses to provide a clear path to learning AutoHotkey.

Working with something new can feel very uncomfortable! Our courses can help ease the pain and get you to an AutoHotkey Rockstar in no-time!

Now on with the show…

Avoid losing data when working on files in the cloud ☁

Years ago Maestrith and I realized that, when working under DropBox and using file append in a fast loop we could end up losing data because DropBox was locking the file. Thankfully this was very rare as you had to be really spamming your hard drive. Sadly Isaias and I experienced something similar the other day so we thought we’d document a “best practices” for when working with files that are being auto-synced to the cloud. With the FIleObect you can lock the file so other tools can’t take control of it. It’s more complex than FileAppend however it has other benefits as well. One being, if you’re working in a large file, you can automatically jump to specific coordinates in it.


How to prevent your cloud sharing tool causing you pain


Automating a game on a Discord Server with my Son

My son, Jon, is 15 and spends a ridiculous amount of time on his Xbox and Meta Quest. He’s also been getting into games on a Discord server so I mentioned we could automate some of what he’s doing. Granted, in this video I was taking the “worst” approach to automation by just sending keystrokes however I was trying to show my son just how easy it can be. Have y’all tried to get your kids into automation? Or been even braver and get your spouse❓


Automating Discord game: meme danker with my son


Creating a Responsive GUI

I was on a call with André from Brazil and he had an issue with a GUI that wasn’t updating / being responsive. Years ago I’d used a few scripts to help with this but I asked Isaias to help explain what is going on and how to create a responsive GUI in AutoHotkey. If you’d like a simple resizable edit control you can get the code here. If you’re new to GUIs, you might want to take our amazing GUIs are Easy course! The course is AMAZING!👏


How to easily Create a Responsive GUI


Functional / Procedural vs. Object oriented languages

Not being a programmer I’m often “lost” when I read articles written for programmers. One topic that often comes up is a discussion between “Functional or Object Oriented”. I asked Isaias to help explain the difference between the two. Do you have a topic you’d like explained? Let us know


Functional / Procedural VS. Object Oriented Programming languages


Understanding Email severs, Protocol and Sending emails

I have a couple of different scripts I use for sending emails with AutoHotkey. While I understand there are specific settings to configure I never gave much thought to what was behind them. In this video we discuss many of these settings, what they mean and why they exist.

Discussing email servers, protocol and sending emails

Discussing email servers, protocol and sending emails


Simple Arrays in 🅰utoHotkey

Years ago I made this video to help explain how to work with arrays in AutoHotkey. Arrays are super useful to a programmer and understanding how to access them is really beneficial to you! I do go deeper into Arrays in the Intermediate AHK course.

How to work with Simple Arrays in AutoHotKey | It’s easier than you’d think!

How to work with Simple Arrays in AutoHotKey | It's easier than you'd think!


🔥UI Automation🔥- The most amazing thing for AHK since sliced bread! 🍞

In case you missed them we’ve done two videos on using Microsoft’s UIA technology. This is a giant step forward for using AutoHotkey to automate programs

Intro video discussing the new Forum post and how to get Inspect.exe from Microsoft

How to easily automate nearly any program with the UI Automation API

How to easily automate nearly any program with the UI Automation API

Second video walking through how to connect to elements that don’t have a name

Automating a program where your element doesn’t have a name with UI Automation and AutoHotkey

Automating a  program where your element doesn't have a name with UI Automation and AutoHotkey


AHK PodcastThe-Automators’ Podcast


📚 What we’re reading


AHKHeroAHK Hero?

Want more time than the Friday 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.


👨‍🏫 AutoHotkey GURU  Interview: Jethrow

I got a very solid understanding of the DOM by reading (and re-reading) Jethrow’s Web Scraping post (it’s still bookmarked on my Start page).  I reached out to Jethrow and he declined to be interviewed however he did answer some questions which I read in this video.  If you’re new to web scraping you can see webinars and videos here

Examples of AutoHotkey |AutoHotkey Experts: Jethrow

Examples of AutoHotkey |AutoHotkey Experts: Jethrow


⚡️Productivity tips 

It might seem counter-intuitve to take breaks however, having a solid break from your work, ensures you
keep your energy level’s up and be productive.


🤣 A spot of Humor

Roll-up the sleeves, shut off all distractions and learn something new today!

brave


🗣️ 💭 Quotable quotes

  • What you plant now, you will harvest later. — Og Mandino
  • Do the hard jobs first. Easy jobs will take care of themselves. Dale Camegie
  • Effective performance is preceded by painstaking preparation. — Brian Tracy
  • Be where you said you’d be, when you said you’d be there, ready to do what you said you’d do. — John Carlton

LiveLive 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.


AHKConAHKCon

Have you watched our initial video on AHKCon?  Are you signed up to get notifications?  You can always go here to see if there is news on the event.



The-Automator

Joe, Isaias, and staff


P.S. Special thanks to the following for purchasing 🦸‍♀️AHK hero membership:
Rodrigo C., Nathan N., Michael C., Miral P., Rune O., Thomas D., Tyler F., Guy M., Thomas K., Dale W., and Robert R.

and for these people purchaseing multiple Udemy courses

Double P.S.  Special thanks to the following for purchasing multiple AutoHotkey Udemy courses this month!

  • 5 Jesus a.
  • 3 Ron o.
  • 3 Rodrigo a.
  • 3 Juan z.
  • 3 John y.
  • 3 Henrique a.
  • 3 Dimas o.
  • 2 Trevor n.
  • 2 Shawn e.
  • 2 Robert d.
  • 2 Rennie d.
  • 2 Pamela a.
  • 2 Michael n.
  • 2 Joey o.
  • 2 Chui H.
  • 2 Allen n.
  • 2 Alexander v.
  • 2 Aakriti

Triple P.S.  a customer reached out a while back.  He was in the Intermediate AutoHotkey course but weren’t sure if they were ready for the Intermediate Objects course.  I mentioned the Intermediate Objects course does cover basics of Objects but the Objects course goes way, way beyond that.  The dilemma was that the Objects course was on sale for ½ off but he wasn’t ready for it yet.  I told him not to “sweat it” and to go ahead and finish-up the Intermediate AHK course.  If/when he wanted to buy the Objects course I’d create a coupon to allow him to buy it at the sale price.   Well today he said he was ready to move forward so I created a coupon dropping the price from $99 to 💲49.   Since I was there I decided to create a few extra for y’all.   I saw he used the 1st coupon but there are 3 still available.  If you’re on the fence about buying it, now is a great time…   The coupon code is: “cd50PERCENT” and needs to be used during checkout.


June 16, 2022

Howdy %Name%,

The more I collaborate with people, the more I realize just how helpful & powerful it is! I’ve been saying this for a long time but ya’ll need an AHK coding buddy! And not just for debugging purposes, being able to bounce ideas off each other is a huge win for everyone involved. Google is very helpful however it only helps you go down a specific “rabbit hole”. When we talk with others, they provide ideas outside our own which can be invaluable!

So find someone you can bounce ideas off of. They don’t have to be a programmer (but it would help if they were). The main point is to have someone you have both regular chats with and can go to when you’re trying to decide on a new direction or stuck debugging something. Trust me, it will be worth it!

Now on with the show…


🆕Object Oriented Course

Hopefully you’ve taken advantage of our sale price (ends 6/18)on the Intermediate Objects course. Object Oriented Programming sounds “scary” to non-programmers however, in reality, it actually simplifies your code.

We just released this video discussing Inheritance which is one benefit of OOP. Inheritance can help you design better structured/organized code. It’s not an overly complex topic but would be impossible without classes.


Understanding Inheritance in AutoHotkey Classes: Rufaydium example


🆚Code & GIT

Do you work with others? Do you release versions of your code? If either of the previous statements are true, you really should take a serious look at VS code. In this video Isaias talks with Spawnova about the many benefits of using VS code. If you’re new to VS code, you can check out this webinar we did on it.

Personally I still use AHK Studio and recommend SciTE4AutoHotkey to people new to programming. Don’t forget we have a great tool for swapping your default AHK editors.


Showing some of the benefits of VS Code with GIT integration


rufaydium
Uploading files and clicking buttons with Rufaydium

Have you played with Rufaydium yet? In this video Xeo786 shows us how we can upload files in Chrome using Rufaydium with AutoHotkey. Automating browsers is an amazing skillset to have. If you’re new to Web Scraping you can check out this AutoHotkey webinar where we discuss the basics.webinar

 

Uploading files and clicking buttons with Chrome using Rufaydium


Stop losing your $hit 🙄

Technology can be an amazing help! My wife is constantly forgetting where she put her: keys, phone, purse,🧠, etc. A Bluetooth tracker can be a great way to find what’s missing! Currently these TileMate trackers (affiliate link) are on sale for 💲16.99. Not exactly cheap but they make a great gift! They’re also a great “insurance plan” to put in something you think might get stolen or go missing. Don’t forget Father’s day is just around the corner…

41pN1F9 RaL. AC SL1214


AHK PodcastThe-Automators’ Podcast


📚 What we’re reading


👨‍🏫 AutoHotkey GURU Interview: Michael Wilson

Michael is out of Australia and has been working with AutoHotkey for several years. He does some really cool stuff with AutoHotkey and shares some examples in this video.


Examples of AutoHotkey |AutoHotkey Experts: Michael Wilson


🤣 A spot of Humor

Crank up the music and watch this video of North Koreans marching to Bee Gees! (Reminds me of “the Office” when Michael is doing CPR on the dummy and Kelly get’s up to dance.💃)


I put some Bee Gees music over North Korean marching


🗣️ 💭 Quotable quotes

  • If you want something done, ask the busiest person you know to do it and stand back!
  • If passion drives you, let reason hold the reins. — Benjamin Franklin
  • The other teams could make trouble for us if they win — Yogi Berra
  • Keep a master list of long-range goals — John Carlton

LiveLive 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.


AHKHeroAHK 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.


Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey Intermediate Objects GUIs are Easy with AutoHotkey Intro to DOS & AutoHotkey AutoHotkey FAQ AutoHotkey FAQ

The-Automator

Joe and staff

P.S. Special thanks to the following for purchasing
AHK hero membership

  • Nathan N.
  • Rodrigo C.
  • Thomas K.
  • Miral P.
  • Michael C.

and for these people purchaseing multiple Udemy courses
AutoHotkey Udemy courses this month!

  • 3 Rodrigo a.
  • 3 John y.
  • 2 Robert d.
  • 2 Rennie d.
  • 2 Joey o.
  • 2 Alexander v.
  • 2 Aakriti

June 9, 2022 AutoHotkey Newsletter

Howdy %Name%,

I’m excited to announce the 🦸‍♀️
🅰HK Heroes club!

Hopefully you already knew we offer AHK products (water bottles, squishy balls, stickers), Consultations, Tutoring, and Done for you services.

We’re launching a membership plan called AHK Heroes that will give you discounts to each of these and includes 1 hour of “Office hours” that won’t be streamed to YouTube. Office hours will be a time for people to ask questions & get help. Not quite 1-1, as other members may be there, however the content won’t be shared to the public. We’ll do our best to get your question answered during the hour!

Being an AHK Hero member will also give you deeper discounts to our courses (both on Udemy and on the-Automator.com) Very soon we will have the Intermediate Objects course available which is the gateway to Object Oriented Programming.

Now on with the show…


Auto detect which version of AutoHotkey to use…

In the free-Friday call last week someone asked if V2 had an installer. In this video Isaias and I discuss a V2 Installer which also has a tool that will automatically detect the version your script should be launched with. Pretty cool stuff if you’re dabbling with Version 2. Now you can have both V1 and V2 installed, use the same extension, and AutoHotkey will determine which version to launch your script with! Very, very cool!


V2 Installer & autodetect version of AutoHotkey to run


Shell Hooks are Amazing!

The other day Isaias and I were working on a project where we needed to detect when a given window was active. I mentioned Shell hooks were a great tool to use as, in this video Jackie showed how easy it was to use them in a script. They’re an amazingly fast⚡ and a super powerful tool to have in your AHK Toolbox!


#88 AutoHotkey podcast: How to use shell hooks with AHK


Testimonial for the-Automator 🙏

Given you’re reading this, I think it’s safe to say that, in some way or form, you’re getting helped by what we do. I was wondering if you could take a minute to help me. I love hearing how people have used what we’ve taught and how we’ve helped them. Can you spare a couple of minutes to complete this short form? I’ll be using the feedback on my website, as testimonials, and will print them up for me to look at and remind me why I do what I do. Thank you in advance!


🙏Please help us with a Testimonial for the Automator


Dynamic Context sensitive HotStrings

I often refer to HotStrings as the “Hidden-Gem” of AutoHotkey. In this video Isaias shows how to create Dynamic HotStrings that are context sensitive. This is helpful when you have a GUI that you don’t want to reload the script.


Context Sensitive Dynamic HotStrings


Automation Approach

I was trying to automate Davinci Resolve and was discussing various approaches with Isaias. I decided to hit record so we could talk through what we might be able to do. Many people have commented that, even though they don’t use Davinci Resolve, the video was helpful in understanding the process. Hope you enjoy it!


Automating Davinci Resolve with ACC, Controls, Sending keys


AHK PodcastThe-Automators’ Podcast


📚 What we’re reading


👨‍🏫 AutoHotkey GURU Interview: Nicolás Castillo

In this video I speak with Nicolás out of Mexico. He has a background in IT but also has a side-business in Real Estate. In this video he shows how he’s automated much of his mundane work with AutoHotkey


Examples of AutoHotkey |AutoHotkey Experts: Nicolás Castillo


🤣 A spot of Humor

Ever see someone “call” a computer on an old rotary phone? My favorite part was, when the guy is dialing, he says it’s “extremely simple” to connect to the other computer. This is so freakin awesome!


How to send an 'E mail' - Database - 1984


QAPbrQuick Access Popup news

Last week Jean Lalonde, author of Quick Access Popup, showed me a “Hidden Gem” 💎in Quick Access Popup. The alternative menu is very helpful for those of us that are QAP Power-users! Check it out, it’s a great way to speed-up something you use a lot!


Using the Alternative menu in Quick Access Popup


🗣️ 💭 Quotable quotes

  • Whatever Your Mind Can Conceive and Believe, It Can Achieve. — Napoleon Hill
  • Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time. Thomas Edison
  • You can observe a lot by just watching — Yogi Berra
  • Allow people to blossom or fail on their own. This takes ungodly patience, but it’s the only way it works. — John Carlton

LiveLive 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.


AHKConAHKCon

Are you signed up to get notifications for AHKCon? You can always go here to see if there is news on the event.


Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey GUIs are Easy with AutoHotkey Intro to DOS & AutoHotkey AutoHotkey FAQ AutoHotkey FAQ

The-Automator

Joe and staff


P.S. Special thanks to the following for purchasing multiple
AutoHotkey Udemy courses last month!

  • 4 Morian e.
  • 4 Mira s.
  • 4 Jason e.
  • 4 Eric a.
  • 4 Ali k.
  • 3 Wayne y.
  • 3 Nicholas k.
  • 3 Neil e.
  • 3 James y.
  • 3 Geoff s.
  • 3 Etienne x.
  • 3 Efe
  • 3 Davor r.
  • 3 Cami e.
  • 3 Ben g.
  • 3 Alex n.
  • 2 Zijun n.
  • 2 Tom p.
  • 2 Sung e.
  • 2 Summa
  • 2 Stephen n.
  • 2 Sj
  • 2 Shawn n.
  • 2 Sean e.
  • 2 Satyen t.
  • 2 Robert n.
  • 2 Rajiv s.
  • 2 Peter r.
  • 2 Orkun s.
  • 2 Louis o.
  • 2 Jeff s.
  • 2 Guilherme o.
  • 2 Duc c.

June 2, 2022 AutoHotkey Newsletter

Howdy %Name%,

Here’s the #️⃣1 thing you need to wake up and realize. YOU define your future! The more clear your goals, the more likely you are to hit them. I’m not talking about the lofty goals “when I grow up I want to be president”, I’m talking about realistic short-term and long-term goals.

For short-term goals I like to use sticky-pads and prioritize my items based on rank-order. I find it really helpful to think about them the night before, so my subconscious works on them in my sleep!💤

Furthermore, the more committed you are to your goals, the more likely you are to achieve them! One way you can “tell yourself” you are committed to them is by telling your friends, family, mentors. I say this with a word of caution though as there are some “negative” people out there that will try and dissuade you of your goals. Be thoughtful in who you share your goals with and only share them with people that, you think

Do you have any goals written down? I highly recommend you write them down, organize and prioritize them.

When you have long-term goals, make sure you block time during the week so make progress on them as well. For instance, if you’re wanting to get better with AutoHotkey, block 2-3 hours a week to learn AutoHotkey. By blocking your time, you’re telling yourself this is “IMPORTANT TO ME‼”

On a closing note, let me ask you this %name%. What is more important to you than investing in yourself?

Now on with the show…


Walking through the process of automating a tool

The other day I was editing a video with Davinci Resolve and wanted to automate switching between X and Y coordinates. I jumped on a Zoom call with Isaias to discuss different approaches and we played around with the ACC Library as well as other approaches. We didn’t come up with an amazing solution, but we got a start on it. Just thought you might like to see the process


Automating Davinci Resolve with ACC, Controls, Sending keys


Changes in Versions of 🅰️utoHotkey (Vanilla to AHK_L)

Isaias and I were discussing the major changes to AutoHotkey and I had a real insight as to how Object Oriented Programming (OOP) really streamlines your code making it more intuitive, clearer, and better organized. I’ve been using COM objects for years now but, until this video, I didn’t realize it was Objects & Classes that really allowed for the code to be so-much clearer! BTW we’re very close to launching the Intermediate Objects course!


Versions of AutoHotkey and Objects / Classes


Demonstrating the power of VS Code

We were on a call with Spawnova and Isaias was demonstrating how powerful VS code was (especially with it’s GIT integration). If you program with other people (or release versions of your scripts), VS Code is amazing! If not, I recommend AHK Studio if you’re an Intermediate level. If you’re beginning to program, it’s awfully hard to go wrong with SciTE4AutoHotkey! I discuss the differences of editors in this video and if you’d like a simple tool to easily switch your default AutoHotkey editor you can grab AHK EditSwap


Showing some of the benefits of VS Code with GIT integration


Functional / Procedural versus Object Oriented Programming languages

Not being a programmer, I often find it hard to understand nuances discussing topics comparing languages. I was chatting with a friend about using Classes verse functions and we, somehow, got on the topic of Functional vs. Object oriented languages. I remember reading something about it years ago but asked Isaias to give me a refresher


Functional / Procedural VS. Object Oriented Programming languages


Dynamic, context sensitive, HotStrings

During the Free live help a few weeks back someone asked about using Dynamic HotStrings. We ran into a hang-up during the call but circled-back in this video to show how they can be created (in a weird way).


Context Sensitive Dynamic HotStrings


Spawnova’s Fast Image / Pixel Scanning class

I don’t know if you saw the video I did with Spawnova discussing his class but thought I’d link directly to his video showing how to use it. So cool that you can find images that are behind other images!


AutoHotKey - Fast image/Pixel scanning class


AHK PodcastThe-Automators’ Podcast


📚 What we’re reading


👨‍🏫 AutoHotkey GURU Interview: Jesús Prieto

In this call I speak with Jesús Prieto out of Madrid Spain. Jesús joined us on many webinars and had used AutoHotkey to for translation work. He’s worked with C but shifted to AutoHotkey because it is so much easier and more intuitive. Like my son, his son also plays with Scratch from MIT.


Examples of AutoHotkey |AutoHotkey Experts: Jesús Prieto


🤣 A spot of Humor

Someone put the Bee Gees music over North Korean marching. Freakin brilliant!


I put some Bee Gees music over North Korean marching


QAPbrQuick Access Popup news

I asked Jean Lalonde, author of Quick Access Popup, what was a “Hidden gem” that I was missing out on. We jumped on a call and he showed me how to use Alternative Menus in QAP. If you’re not currently using Quick Access Popup, you’re missing out! It’s an enormous time saver!


Using the Alternative menu in Quick Access Popup


🗣️ 💭 Quotable quotes

  • What you plant now, you will harvest later. — Og Mandino
  • Put systems in place that will allow ordinary people to do extraordinary things — Joe Glines
  • A nickel ain’t worth a dime anymore — Yogi Berra
  • Wake up. Challenge your belief systems. It’s better to realize you’ve been wrong for years, than to stubbornly hold onto a delusion that holds you back. — John Carlton

LiveLive 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.


AHKConAHKCon

Are you signed up to get notifications about AHKCON? We trimmed it down to just 1 day, August 8th from 10EDT to 5ish. Here’s a a general outline of our planned topics:

  • 10:00 (Intro): Welcome and outline
  • 10:30 (Panel): Discussion about Creating a Smooth transition from V1 to V2
  • 11:30 (Panel): How to decide on which approach to use (COM, Controls, Messages, Image search, etc.)
  • 12:30 (Lecture): Advanced Objects & Classes
  • 1:30 (Lunch): “Open mic” where panelists will field questions while we refresh
  • 2:30 (Panel): Text Manipulation (RegEx, StrSplit, Object-Parsing files, etc.)
  • 3:00 (Panel): IDEs – What are preferences for different user levels
  • 4:00 (Panel): Pros & Cons of various Data storage approaches
  • 5:00 (Closing) Wrap-up / Answer some more questions

Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey GUIs are Easy with AutoHotkey Intro to DOS & AutoHotkey AutoHotkey FAQ AutoHotkey FAQ

The-Automator

Joe and staff


P.S. Special thanks to the following for purchasing multiple AutoHotkey Udemy courses last month!

  • 4 Morian e.
  • 4 Mira s.
  • 4 Jason e.
  • 4 Eric a.
  • 4 Ali k.
  • 3 Wayne y.
  • 3 Nicholas k.
  • 3 Neil e.
  • 3 James y.
  • 3 Geoff s.
  • 3 Etienne x.
  • 3 Efe
  • 3 Davor r.
  • 3 Cami e.
  • 3 Ben g.
  • 3 Alex n.
  • 2 Zijun n.
  • 2 Tom p.
  • 2 Sung e.
  • 2 Summa
  • 2 Stephen n.
  • 2 Sj
  • 2 Shawn n.
  • 2 Sean e.
  • 2 Satyen t.
  • 2 Robert n.
  • 2 Rajiv s.
  • 2 Peter r.
  • 2 Orkun s.
  • 2 Louis o.
  • 2 Jeff s.
  • 2 Guilherme o.
  • 2 Duc c.

AutoHotkey webinar: Getting text from programs with AutoHotkey

webnar 300x200

Video Hour 1:  High Level: Getting text from programs

General ways (there are more) to get text & the order to try them:

  1. Using COM to extract text from programs like: Excel, Word, PowerPoint, Outlook, IE
  2. Getting Text from PDFs
  3. Using Active Accessibility Viewer & UI Automation
  4. ControlGet
  5. Copy / Paste (when all else fails or when just need a quick solution)Squishy Ball 2
  6. OCR – Optical Character Recognition

Video Hour 2: Coding and Q&A

Script Highlight: Chrome.ahk by GeekDude

  • Automate Chrome without Selenium
  • Not as robust as COM w/IE but a great start at basic automation
  • Connect to running Chrome (running in Debug mode)
  • Page navigation
  • Get / Set elements & JavaScript Injection
  • Print pages to PDF
  • Capture to Screenshot
  • Some tutorial videos

Resources for getting text from programs

COM– Microsoft’s Component Object Model

Extracting from PDFs

Active Accessibility Viewer & UI Automation

Active Accessibility & UI Automation are built-in Microsoft architecture that can allow you to, programmatically, get text from programs

Let’s see a few examples using:

AutoHotkey Bottle 3

ControlGet

On standard Windows controls, you can access them with ControlGet

  • Some things like listboxes, listviews, etc. have some pretty cool capabilities
  • Often newer programs do not use the standard window controls 🙁

OCR – Optical Character Recognition