Although a Little Tricky, You Can Add and Manipulate Windows Graphics on Your Computer Screen with AutoHotkey
In the blog “Capturing Computer Screen Measurements (An AutoHotkey Tool)“, I added a calibration method to an on-screen ruler for extracting distances from any image. It works well for capturing straight-line measurement from a computer display. However, when following the mouse cursor, it lacked a discernible tracking line between the start and stop points.
The green line anchors at the start point and moves with the mouse cursor.
With a search, I found an old post about how to generate a line on-screen. I copied the code and turned it into a function for displaying the green line shown in the image above.
Most Menu Bars Include Both “Save” and “Save as…” Options in the File Menu—Each Requires Special Considerations
As I mentioned last time, the act of adding a menu bar to a GUI can force the rethinking of many routines in the script. This time the consideration of the Save option(s) compelled me to reconcile potential problems when attempting to run the Save routine in the expected manner. First, knowing the actions activated by the Save Hotstrings button in the InstantHotstring.ahk script provides an understanding of the items required in the GUI menu bar.
While AutoHotkey Directly Supports Most Windows Features, the Flexibility of the ComObjCreate() Function Adds More Useful Capabilities—Especially for Capturing Web Data, Sending E-mail, and Reading Text Out-Loud
A number of my scripts use the ComObjCreate() function in various forms. Most of them I copied from the AutoHotkey Forums and modified for my own purposes. In this blog, I highlight theComObjCreate() applications I use most, then offer a list of other forms of the function you may find useful.
How I Use ComObjCreate()
The SynonymLookup.ahk script pulls replacement terms for the highlighted word “Page” from the Web.
While AutoHotkey supports many of these features in one form or another, directly accessing the COM (Component Object Model) might provide a solution you can get by no other method. I use the ComObjCreate() function in three ways:
Collect data from Web pages (ComObjCreate(“WinHttp.WinHttpRequest.5.1”)).
Send e-mail directly from an AutoHotkey script (ComObjCreate(“CDO.Message”))—no mail program required.
Use the computer voice to read text (ComObjCreate(“SAPI.SpVoice”)).
While I haven’t found much additional information about the ComObjCreate() function posted on the new AutoHotkey forum, the old forum contains a useful COM Object reference list. You don’t need to know how they work—just how to use them. Continue reading →