

įixed duplicate Gui control name errors to correctly abort the thread.įixed DateTime/MonthCal Range option not applying minimum value.įixed s => x and other single-line properties starting with "s".įixed a bug with deleting a breakpoint on a static line containing =>.įixed Button control not becoming default when clicked.įixed PixelSearch to unset X when pixel is not found.įixed hotstring with escape sequence causing next line to be skipped.įixed WinTitle ignoring character 1 when "ahk_" is at character 2.įixed remapping to utilize right-hand modifier already being down. įixed FileSetAttribute crash when used in a File Reading Loop. Fixed Hotkey("a", "b") to use the original function of "b", not "a". set ( 'Clipboard', "Copied text!" ) print ( isNotepadActive )įrom ahkunwrapped import Script ahk = Script ( ''' LuckyMinimize(winTitle). f ( 'WinActive', 'ahk_class Notepad' ) # built-in variables (and user globals) can be set directly ahk. ) get(var) set(var, val) from ahkunwrapped import Script ahk = Script () # built-in functions are directly callable isNotepadActive = ahk.

Errors for unsupported values ( NaN Inf \0).Warnings for loss of precision (maximum 6 decimal places).Hypothesis powered testing of convoluted unicode, et al.Execute arbitrary AHK code or load scripts.Instead, we bundle and bridge AutoHotkey.exe, sending your initial script via stdin with minimal boilerplate to listen for window messages from Python and respond via stdout.

I wanted to automate Windows with the coverage and simplicity of the complete AutoHotkey API, yet code in Python, so I created ahkUnwrapped.ĪutoHotkey already abstracts the Windows API, so another layer to introduce complexity and slowdowns is undesirable.
