v2.0.0
2.0.0 (2025-08-09)
~150 commits and a week's vacation later, AutoIt JS 2.0.0 is complete!
Asynchronous Functions
This update adds async variations of every function for use in async contexts like Cypress and Playwright. You can see the rationale in #10, but the long and short of it is the old function names are now the async variants and the sync variants have been renamed with the Sync
suffix.
Inline Documentation
I have also added the JSDoc stubs directly into the TypeScript declaration files. This should've been a part of the 1.1.0 release when all the documentation was initially added, but I guess I missed it back then. Oh well, better late than never!
Future Releases
The one downside to this release is that there is no async variant of the Tooltip
function yet. It seems that when allocating space on the native side with Koffi for the TOOLINFOW
struct, I can't safely pass a pointer to it asynchronously with SendMessageW
. I am not sure what's going on but I didn't want to hold up the release for a single function. I'll release a feature update later once I get this resolved.
Bug Fixes
- Fix TOOLINFOW struct (cc62be5)
Features
- Implement async variant of AutoItSetOption (8d267fb), closes #10 #10
- Implement async variant of ClipGet (c7c9ed2), closes #10 #10
- Implement async variant of ClipPut (bebda9c), closes #10 #10
- Implement async variant of ControlClick (5f09057), closes #10 #10
- Implement async variant of ControlClickByHandle (ced6a82), closes #10 #10
- Implement async variant of ControlCommand (4179bae), closes #10 #10
- Implement async variant of ControlCommandByHandle (3c861ac), closes #10 #10
- Implement async variant of ControlDisable (90f91db), closes #10 #10
- Implement async variant of ControlDisableByHandle (055ffe4), closes #10 #10
- Implement async variant of ControlEnable (1799424), closes #10 #10
- Implement async variant of ControlEnableByHandle (c73c830), closes #10 #10
- Implement async variant of ControlFocus (8d8ea69), closes #10 #10
- Implement async variant of ControlFocusByHandle (8c2108e), closes #10 #10
- Implement async variant of ControlGetFocus (cd883a5), closes #10 #10
- Implement async variant of ControlGetFocusByHandle (43d9ce0), closes #10 #10
- Implement async variant of ControlGetHandle (1ba2f70), closes #10 #10
- Implement async variant of ControlGetHandleAsText (8fd4d83), closes #10 #10
- Implement async variant of ControlGetPos (e8e2c1f), closes #10 #10
- Implement async variant of ControlGetPosByHandle (fb81414), closes #10 #10
- Implement async variant of ControlGetText (8930b56), closes #10 #10
- Implement async variant of ControlGetTextByHandle (fa14d5b), closes #10 #10
- Implement async variant of ControlHide (6e46752), closes #10 #10
- Implement async variant of ControlHideByHandle (2263592), closes #10 #10
- Implement async variant of ControlListView (e98da74), closes #10 #10
- Implement async variant of ControlListViewByHandle (7a2cdcb), closes #10 #10
- Implement async variant of ControlMove (f633c76), closes #10 #10
- Implement async variant of ControlMoveByHandle (8bfa87f), closes #10 #10
- Implement async variant of ControlSend (37ccf2f), closes #10 #10
- Implement async variant of ControlSendByHandle (2c74679), closes #10 #10
- Implement async variant of ControlSetText (b42bd48), closes #10 #10
- Implement async variant of ControlSetTextByHandle (5b9f2ee), closes #10 #10
- Implement async variant of ControlShow (a714e99), closes #10 #10
- Implement async variant of ControlShowByHandle (c0837aa), closes #10 #10
- Implement async variant of ControlTreeView (1a0e391), closes #10 #10
- Implement async variant of ControlTreeViewByHandle (b0dd5c1), closes #10 #10
- Implement async variant of DriveMapAdd (0fc9132), closes #10 #10
- Implement async variant of DriveMapDel (8764745), closes #10 #10
- Implement async variant of DriveMapGet (3ff7e12), closes #10 #10
- Implement async variant of error (56791b4), closes #10 #10
- Implement async variant of Init (68775d3), closes #10 #10
- Implement async variant of IsAdmin (9eee560), closes #10 #10
- Implement async variant of MouseClick (4237009), closes #10 #10
- Implement async variant of MouseClickDrag (4cd2aa2), closes #10 #10
- Implement async variant of MouseDown (6f185d6), closes #10 #10
- Implement async variant of MouseGetCursor (193349f), closes #10 #10
- Implement async variant of MouseGetPos (4cf09bd), closes #10 #10
- Implement async variant of MouseMove (1c0cdd3), closes #10 #10
- Implement async variant of MouseUp (d9a5920), closes #10 #10
- Implement async variant of MouseWheel (f555c95), closes #10 #10
- Implement async variant of Opt (9364c70), closes #10 #10
- Implement async variant of PixelChecksum (a00778d), closes #10 #10
- Implement async variant of PixelGetColor (87001be), closes #10 #10
- Implement async variant of PixelSearch (6fbf46b), closes #10 #10
- Implement async variant of ProcessClose (be5b38d), closes #10 #10
- Implement async variant of ProcessExists (fc692e2), closes #10 #10
- Implement async variant of ProcessSetPriority (6acfbd3), closes #10 #10
- Implement async variant of ProcessWait (4ad8378), closes #10 #10
- Implement async variant of ProcessWaitClose (ea88b18), closes #10 #10
- Implement async variant of Run (6191ab9), closes #10 #10
- Implement async variant of RunAs (a1b65b5), closes #10 #10
- Implement async variant of RunAsWait (5e7a824), closes #10 #10
- Implement async variant of RunWait (92f1bb2), closes #10 #10
- Implement async variant of Send (a96e5df), closes #10 #10
- Implement async variant of Shutdown (dad0ed3), closes #10 #10
- Implement async variant of Sleep (c84f96e), closes #10 #10
- Implement async variant of StatusbarGetText (c0e4a03), closes #10 #10
- Implement async variant of StatusbarGetTextByHandle (7167895), closes #10 #10
- Implement async variant of Tooltip (6dfb22f), closes #10 #10
- Implement async variant of WinActivate (0dca5a7), closes #10 #10
- Implement async variant of WinActivateByHandle (eef4de3), closes #10 #10
- Implement async variant of WinActive (deab52a), closes #10 #10
- Implement async variant of WinActiveByHandle (644cd4a), closes #10 #10
- Implement async variant of WinClose (30f2513), closes #10 #10
- Implement async variant of WinCloseByHandle (08d03c5), closes #10 #10
- Implement async variant of WinExists (4fceea6), closes #10 #10
- Implement async variant of WinExistsByHandle (c1973fc), closes #10 #10
- Implement async variant of WinGetCaretPos (5c6914d), closes #10 #10
- Implement async variant of WinGetClassList (df0287f), closes #10 #10
- Implement async variant of WinGetClassListByHandle (0da5b73), closes #10 #10
- Implement async variant of WinGetClientSize (678b221), closes #10 #10
- Implement async variant of WinGetClientSizeByHandle (0b35373), closes #10 #10
- Implement async variant of WinGetHandle (d85197a), closes #10 #10
- Implement async variant of WinGetHandleAsText (6ff9ffb), closes #10 #10
- Implement async variant of WinGetPos (c21445f), closes #10 #10
- Implement async variant of WinGetPosByHandle (79e9406), closes #10 #10
- Implement async variant of WinGetProcess (1e88486), closes #10 #10
- Implement async variant of WinGetProcessByHandle (5d11c49), closes #10 #10
- Implement async variant of WinGetState (c30797f), closes #10 #10
- Implement async variant of WinGetStateByHandle (edd7f35), closes #10 #10
- Implement async variant of WinGetText (5b7911c), closes #10 #10
- Implement async variant of WinGetTextByHandle (6dba8e5), closes #10 #10
- Implement async variant of WinGetTitle (1b6a4b8), closes #10 #10
- Implement async variant of WinGetTitleByHandle (6fc8691), closes #10 #10
- Implement async variant of WinKill (2512fb8), closes #10 #10
- Implement async variant of WinKillByHandle (849d237), closes #10 #10
- Implement async variant of WinMenuSelectItem (a1dd53f), closes #10 #10
- Implement async variant of WinMenuSelectItemByHandle (39d26d5), closes #10 #10
- Implement async variant of WinMinimizeAll (5e13124), closes #10 #10
- Implement async variant of WinMinimizeAllUndo (d01678c), closes #10 #10
- Implement async variant of WinMove (4e7248a), closes #10 #10
- Implement async variant of WinMoveByHandle (b1771e2), closes #10 #10
- Implement async variant of WinSetOnTop (3c98b5c), closes #10 #10
- Implement async variant of WinSetOnTopByHandle (3c5e26f), closes #10 #10
- Implement async variant of WinSetState (fb7f4ae), closes #10 #10
- Implement async variant of WinSetStateByHandle (602ac3e), closes #10 #10
- Implement async variant of WinSetTitle (94e2cb8), closes #10 #10
- Implement async variant of WinSetTitleByHandle (a50d316), closes #10 #10
- Implement async variant of WinSetTrans (64f88aa), closes #10 #10
- Implement async variant of WinSetTransByHandle (9fdb585), closes #10 #10
- Implement async variant of WinWait (da9a963), closes #10 #10
- Implement async variant of WinWaitActive (1539a2d), closes #10 #10
- Implement async variant of WinWaitActiveByHandle (b803df6), closes #10 #10
- Implement async variant of WinWaitByHandle (3e33d33), closes #10 #10
- Implement async variant of WinWaitClose (f314af8), closes #10 #10
- Implement async variant of WinWaitCloseByHandle (2d28fbd), closes #10 #10
- Implement async variant of WinWaitNotActive (60b8eb9), closes #10 #10
- Implement async variant of WinWaitNotActiveByHandle (50e051f), closes #10 #10
- Implement invokeAsync method on AutoIt class (f5f1a7d)
BREAKING CHANGES
- Renamed WinWait to WinWaitSync
- Renamed WinWaitNotActive to WinWaitNotActiveSync
- Renamed WinWaitNotActiveByHandle to WinWaitNotActiveByHandleSync
- Renamed WinWaitClose to WinWaitCloseSync
- Renamed WinWaitCloseByHandle to WinWaitCloseByHandleSync
- Renamed WinWaitByHandle to WinWaitByHandleSync
- Renamed WinWaitActive to WinWaitActiveSync
- Renamed WinWaitActiveByHandle to WinWaitActiveByHandleSync
- Renamed WinSetTrans to WinSetTransSync
- Renamed WinSetTransByHandle to WinSetTransByHandleSync
- Renamed WinSetState to WinSetStateSync
- Renamed WinSetStateByHandle to WinSetStateByHandleSync
- Renamed WinSetOnTop to WinSetOnTopSync
- Renamed WinSetOnTopByHandle to WinSetOnTopByHandleSync
- Renamed WinSetTitle to WinSetTitleSync
- Renamed WinSetTitleByHandle to WinSetTitleByHandleSync
- Renamed WinMove to WinMoveSync
- Renamed WinMoveByHandle to WinMoveByHandleSync
- Renamed WinMinimizeAll to WinMinimizeAllSync
- Renamed WinMinimizeAllUndo to WinMinimizeAllUndoSync
- Renamed WinMenuSelectItem to WinMenuSelectItemSync
- Renamed WinMenuSelectItemByHandle to WinMenuSelectItemByHandleSync
- Renamed WinKill to WinKillSync
- Renamed WinKillByHandle to WinKillByHandleSync
- Renamed WinGetTitle to WinGetTitleSync
- Renamed WinGetText to WinGetTextSync
- Renamed WinGetTextByHandle to WinGetTextByHandleSync
- Renamed WinGetState to WinGetStateSync
- Renamed WinGetStateByHandle to WinGetStateByHandleSync
- Renamed WinGetProcess to WinGetProcessSync
- Renamed WinGetProcessByHandle to WinGetProcessByHandleSync
- Renamed WinGetPos to WinGetPosSync
- Renamed WinGetPosByHandle to WinGetPosByHandleSync
- Renamed WinGetHandle to WinGetHandleSync
- Renamed WinGetHandleAsText to WinGetHandleAsTextSync
- Renamed WinGetClientSize to WinGetClientSizeSync
- Renamed WinGetClientSizeByHandle to WinGetClientSizeByHandleSync
- Renamed WinGetClassList to WinGetClassListSync
- Renamed WinGetClassListByHandle to WinGetClassListByHandleSync
- Renamed WinGetCaretPos to WinGetCaretPosSync
- Renamed WinExists to WinExistsSync
- Renamed WinExistsByHandle to WinExistsByHandleSync
- Renamed WinClose to WinCloseSync
- Renamed WinCloseByHandle to WinCloseByHandleSync
- Renamed WinActive to WinActiveSync
- Renamed WinActiveByHandle to WinActiveByHandleSync
- Renamed WinActivate to WinActivateSync
- Renamed WinActivateByHandle to WinActivateByHandleSync
- Renamed Tooltip to TooltipSync
- Renamed StatusbarGetText to StatusbarGetTextSync
- Renamed StatusbarGetTextByHandle to StatusbarGetTextByHandleSync
- Renamed Sleep to SleepSync
- Renamed Shutdown to ShutdownSync
- Renamed Send to SendSync
- Renamed Run to RunSync
- Renamed RunWait to RunWaitSync
- Renamed RunAs to RunAsSync
- Renamed RunAsWait to RunAsWaitSync
- Renamed ProcessWait to ProcessWaitSync
- Renamed ProcessWaitClose to ProcessWaitCloseSync
- Renamed ProcessSetPriority to ProcessSetPrioritySync
- Renamed ProcessExists to ProcessExistsSync
- Renamed ProcessClose to ProcessCloseSync
- Renamed PixelSearch to PixelSearchSync
- Renamed PixelGetColor to PixelGetColorSync
- Renamed PixelChecksum to PixelChecksumSync
- Renamed Opt to OptSync
- Renamed MouseWheel to MouseWheelSync
- Renamed MouseUp to MouseUpSync
- Renamed MouseMove to MouseMoveSync
- Renamed MouseGetPos to MouseGetPosSync
- Renamed MouseGetCursor to MouseGetCursorSync
- Renamed MouseDown to MouseDownSync
- Renamed MouseClick to MouseClickSync
- Renamed MouseClickDrag to MouseClickDragSync
- Renamed IsAdmin to IsAdminSync
- Renamed Init to InitSync
- Renamed error to errorSync
- Renamed DriveMapGet to DriveMapGetSync
- Renamed DriveMapDel to DriveMapDelSync
- Renamed DriveMapAdd to DriveMapAddSync
- Renamed ControlTreeView to ControlTreeViewSync
- Renamed ControlTreeViewByHandle to ControlTreeViewByHandleSync
- Renamed ControlShow to ControlShowSync
- Renamed ControlShowByHandle to ControlShowByHandleSync
- Renamed ControlSetText to ControlSetTextSync
- Renamed ControlSendByHandle to ControlSendByHandleSync
- Renamed ControlSetTextByHandle to ControlSetTextByHandleSync
- Renamed ControlSend to ControlSendSync
- Renamed ControlMoveByHandle to ControlMoveByHandleSync
- Renamed ControlMove to ControlMoveSync
- Renamed ControlListViewByHandle to ControlListViewByHandleSync
- Renamed ControlListView to ControlListViewSync
- Renamed ControlHideByHandle to ControlHideByHandleSync
- Renamed ControlHide to ControlHideSync
- Renamed ControlGetTextByHandle to ControlGetTextByHandleSync
- Renamed ControlGetText to ControlGetTextSync
- Renamed ControlGetPosByHandle to ControlGetPosByHandleSync
- Renamed ControlGetPos to ControlGetPosSync
- Renamed ControlGetHandleAsText to ControlGetHandleAsTextSync
- Renamed ControlGetHandle to ControlGetHandleSync
- Renamed ControlGetFocusByHandle to ControlGetFocusByHandleSync
- Renamed ControlGetFocus to ControlGetFocusSync
- Renamed ControlFocusByHandle to ControlFocusByHandleSync
- Renamed ControlFocus to ControlFocusSync
- Renamed ControlEnableByHandle to ControlEnableByHandleSync
- Renamed ControlEnable to ControlEnableSync
- Renamed ControlDisable to ControlDisableSync
- Renamed ControlDisableByHandle to ControlDisableByHandleSync
- Renamed ControlCommandByHandle to ControlCommandByHandleSync
- Renamed ControlCommand to ControlCommandSync
- Renamed ControlClickByHandle to ControlClickByHandleSync
- Renamed ControlClick to ControlClickSync
- Renamed ClipPut to ClipPutSync
- Renamed ClipGet to ClipGetSync
- Renamed AutoItSetOption to AutoItSetOptionSync
- Renamed WinGetTitleByHandle to WinGetTitleByHandleSync