.. role:: raw-html-m2r(raw) :format: html Available Methods ================= Most methods from autohotkey are implemented in this wrapper. This page can serve as a quick reference to find Python equivalents of AutoHotkey commands/functions that are implemented in the wrapper. Methods that are not implemented are also noted here for reference. This is a work in progress and may not list all [un]available methods. Check the full API reference for more complete information. Mouse and Keyboard ^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `#KeyHistory `_ - Not Implemented - * - `BlockInput `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.block_input` * - `Click `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.click` * - `Send `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.send` / :py:meth:`~ahk._sync.engine.AHK.send_raw` / :py:meth:`~ahk._sync.engine.AHK.send_input` * - `ControlClick `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.control_click` / :py:meth:`~ahk._sync.window.Window.click` (:py:class:`~ahk._sync.window.Window` method) * - `ControlSend[Raw] `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.control_send` / :py:meth:`~ahk._sync.engine.AHK.Control.send` * - `CoordMode `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_coord_mode` (or as a parameter to methods affected by the coord mode) * - `GetKeyName() `_ - Not Implemented - * - `GetKeySC() `_ - Not Implemented - * - `GetKeyState `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.key_state` * - `GetKeyVK() `_ - Not Implemented - * - `KeyHistory `_ - Not Implemented - * - `KeyWait `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.key_wait` * - `Input `_ - Not Implemented - Use python ``input()`` instead * - `InputHook() `_ - Not Implemented - * - `MouseClick `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.click` * - `MouseClickDrag `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.mouse_drag` * - `MouseGetPos `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.get_mouse_position` / :py:attr:`~ahk._sync.engine.AHK.mouse_position` * - `MouseMove `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.mouse_move` * - `SendLevel `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_send_level` * - `SendMode `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_send_mode` * - `SetCapsLockState `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_capslock_state` * - `SetDefaultMouseSpeed `_ - Implemented - Speed is controlled by the ``speed`` keyword argument of relevant methods (for example, see :py:meth:`~ahk._sync.engine.AHK.mouse_move`) * - `SetKeyDelay `_ - Implemented - Delay is controlled by the ``delay`` keyword argument of relevant methods * - `SetMouseDelay `_ - Not Implemented - Delays between mouse movements can be controlled in Python code between calls to ``mouse_move`` * - `SetNumLockState `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_numlock_state` * - `SetScrollLockState `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_scroll_lock_state` * - `SetStoreCapsLockMode `_ - Not Implemented - Hotkeys ^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `Hotkeys `_ - Implemented - Before 1.0, callbacks were only supported as Autohotkey Scripts\ :raw-html-m2r:`
` In 1.0 and later, callbacks are supported as Python functions * - `Hotstrings `_ - Implemented - Available in 1.0+ * - `Suspend `_ - Implemented* - Use stop_hotkeys and start_hotkeys to enable/disable hotkeys ClipBoard ^^^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `OnClipboardChange() `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.on_clipboard_change` * - `Clipboard/ClipboardAll `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.get_clipboard` / :py:meth:`~ahk._sync.engine.AHK.set_clipboard` / :py:meth:`~ahk._sync.engine.AHK.get_clipboard_all` / :py:meth:`~ahk._sync.engine.AHK.set_clipboard_all` * - `ClipWait `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.clip_wait` Screen/Image ^^^^^^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `ImageSearch `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.image_search` * - `PixelGetColor `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.pixel_get_color` * - `PixelSearch `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.pixel_search` Registry ^^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `RegDelete `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.reg_delete` * - `RegRead `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.reg_read` * - `RegWrite `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.reg_write` * - `SetRegView `_ - Not Implemented - Window ^^^^^^ Window | Controls ~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `Control `_ - Implemented - * - `ControlClick `_ - Implemented - :py:meth:`~ahk._sync.window.Window.click` (uses :py:meth:`~ahk._sync.engine.AHK.control_click`) * - `ControlFocus `_ - Not Implemented - * - `ControlGet `_ - Implemented - * - `ControlGetFocus `_ - Not Implemented - * - `ControlGetPos `_ - Implemented - * - `ControlGetText `_ - Implemented - * - `ControlMove `_ - Implemented - * - `ControlSend[Raw] `_ - Implemented - * - `ControlSetText `_ - Implemented - * - `Menu `_ - Not Implemented - * - `PostMessage/SendMessage `_ - Not Implemented - * - `SetControlDelay `_ - Not Implemented - * - `WinMenuSelectItem `_ - Not Implemented - Window | Groups ~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `GroupActivate `_ - - * - `GroupAdd `_ - - * - `GroupClose `_ - - * - `GroupDeactivate `_ - - Window functions ^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `#WinActivateForce `_ - Implemented - Any directive can be added to the daemon * - `DetectHiddenText `_ - Planned - * - `DetectHiddenWindows `_ - Implemented - Use ``detect_hidden_windows`` parameter of relevant functions or :py:meth:`~ahk._sync.engine.AHK.set_detect_hidden_windows` * - `IfWin[Not]Active `_ - Not Implemented - Use Python ``if`` with ``win_active``\ /\ ``win.is_active`` * - `IfWin[Not]Exist `_ - Not Implemented - Use Python ``if`` with ``win_exists``\ /\ ``win.exists`` * - `SetTitleMatchMode `_ - Implemented - * - `SetWinDelay `_ - Not Implemented - Delays can be controlled in Python code * - `StatusBarGetText `_ - Not Implemented - * - `StatusBarWait `_ - Not Implemented - * - `WinActivate `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_activate` / :py:meth:`~ahk._sync.window.Window.activate` (:py:class:`~ahk._sync.window.Window` method) * - `WinActivateBottom `_ - Implemented - * - `WinActive() `_ - Implemented - :py:meth:`~ahk._sync.window.Window.activate` (:py:class:`~ahk._sync.window.Window` method) * - `WinClose `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_close` / :py:meth:`~ahk._sync.window.Window.close` (:py:class:`~ahk._sync.window.Window` method) * - `WinExist() `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_exist` / :py:meth:`~ahk._sync.window.Window.exists` (:py:class:`~ahk._sync.window.Window` method) * - `WinGet `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_get` See also :py:meth:`~ahk._sync.engine.AHK.find_windows` and variants. * - `WinGetActiveStats `_ - Not Implemented - * - `WinGetActiveTitle `_ - Not Implemented - Use :py:meth:`~ahk._sync.engine.AHK.get_active_window` and :py:attr:`~ahk._sync.window.Window.title` property * - `WinGetClass `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_get_class` / :py:meth:`~ahk._sync.window.Window.get_class` (:py:class:`~ahk._sync.window.Window` method) * - `WinGetPos `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_get_position` / :py:meth:`~ahk._sync.window.Window.get_position` (:py:class:`~ahk._sync.window.Window` method) * - `WinGetText `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_get_text` / :py:meth:`~ahk._sync.window.Window.get_text` (:py:class:`~ahk._sync.window.Window` method) * - `WinGetTitle `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_get_title` / :py:meth:`~ahk._sync.window.Window.get_title` or :py:attr:`~ahk._sync.window.Window.title` (:py:class:`~ahk._sync.window.Window`) * - `WinHide `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_hide` / :py:meth:`~ahk._sync.window.Window.hide` (:py:class:`~ahk._sync.window.Window`) * - `WinKill `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_kill` / :py:meth:`~ahk._sync.window.Window.kill` (:py:class:`~ahk._sync.window.Window`) * - `WinMaximize `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_maximize` / :py:meth:`~ahk._sync.window.Window.maximize` (:py:class:`~ahk._sync.window.Window`) * - `WinMinimize `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_minimize` / :py:meth:`~ahk._sync.window.Window.minimize` (:py:class:`~ahk._sync.window.Window`) * - `WinMinimizeAll[Undo] `_ - Not Implemented - * - `WinMove `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_move` * - `WinRestore `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_restore` * - `WinSet `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_set_always_on_top` / :py:meth:`~ahk._sync.engine.AHK.win_set_bottom` / :py:meth:`~ahk._sync.engine.AHK.win_set_disable` / :py:meth:`~ahk._sync.engine.AHK.win_set_enable` / :py:meth:`~ahk._sync.engine.AHK.win_set_ex_style` / :py:meth:`~ahk._sync.engine.AHK.win_set_redraw` / :py:meth:`~ahk._sync.engine.AHK.win_set_region` / :py:meth:`~ahk._sync.engine.AHK.win_set_style` / :py:meth:`~ahk._sync.engine.AHK.win_set_title` / :py:meth:`~ahk._sync.engine.AHK.win_set_top` / :py:meth:`~ahk._sync.engine.AHK.win_set_trans_color` / :py:meth:`~ahk._sync.engine.AHK.win_set_transparent` * - `WinSetTitle `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_set_title` * - `WinShow `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_show` * - `WinWait `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_wait` * - `WinWait[Not]Active `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_wait_not_active` * - `WinWaitClose `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.win_wait_close` Sound ^^^^^ .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `SoundBeep `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.sound_beep` * - `SoundGet `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.sound_get` * - `SoundGetWaveVolume `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.get_volume` * - `SoundPlay `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.sound_play` * - `SoundSet `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.sound_set` * - `SoundSetWaveVolume `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.set_volume` GUI ^^^ GUI methods are largely unimplmented, except ``ToolTip`` and ``TrayTip``. We recommend using one of the many `Python GUI libraries `_, such as ``tkinter`` from the standard library or a third party package such as `pyqt `_ , `FreeSimpleGUI `_ or similar. .. list-table:: :header-rows: 1 * - AutoHotkey Command - Status - Notes * - `Gui `_ - Not Implemented - * - `Gui control types `_ - Not Implemented - * - `GuiControl `_ - Not Implemented - * - `GuiControlGet `_ - Not Implemented - * - `Gui ListView control `_ - Not Implemented - * - `Gui TreeView control `_ - Not planned - * - `IfMsgBox `_ - Not planned - * - `InputBox `_ - Implemented - :py:meth:`~ahk._sync.engine.input_box` * - `FileSelectFile `_ - Implemented - :py:meth:`~ahk._sync.engine.file_select_box` * - `FileSelectFolder `_ - Implemented - :py:meth:`~ahk._sync.engine.folder_select_box` * - `LoadPicture() `_ - Not Implemented - * - `Menu `_ - Not Implemented - * - `MenuGetHandle() `_ - Not Planned - * - `MenuGetName() `_ - Not Planned - * - `MsgBox `_ - Implemented - :py:meth:`~ahk._sync.engine.msg_box` * - `OnMessage() `_ - Not Planned - * - `Progress `_ - Not Planned - * - `SplashImage `_ - Not Planned - * - `SplashTextOn/Off `_ - Not Planned - * - `ToolTip `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.show_tooltip` * - `TrayTip `_ - Implemented - :py:meth:`~ahk._sync.engine.AHK.show_traytip` Directives ^^^^^^^^^^ In general, all directives are technically usable, however many do not have applicable context in the Python library. Directives are mentioned in tables above and are omitted from this table. For example, to use the :py:class:`~ahk.directives.NoTrayIcon` directive from ahk import AHK from ahk.directives import NoTrayIcon ahk = AHK(directives=[NoTrayIcon]) .. list-table:: :header-rows: 1 * - AutoHotkey Command - Notes * - `#HotkeyInterval `_ - * - `#HotkeyModifierTimeout `_ - * - `#Hotstring `_ - * - `#Include[Again] `_ - Using this directive is strongly discouraged as it is **very** likely to cause issues. Use with extreme caution. * - `#InputLevel `_ - * - `#KeyHistory `_ - * - `#MaxHotkeysPerInterval `_ - * - `#MaxMem `_ - * - `#MaxThreads `_ - * - `#MaxThreadsBuffer `_ - * - `#MaxThreadsPerHotkey `_ - Hotkey callbacks are run in Python, so this largely won't have any significant effect * - `#MenuMaskKey `_ - * - `#NoEnv `_ - Removed in ``ahk`` v1.0.0 -- Used by default when using AutoHotkey v1. Not available in AutoHotkey v2. * - `#NoTrayIcon `_ - If you use hotkeys or hotstrings, you probably also want to configure this as a hotkey transport option * - `#Persistent `_ - This is on by default in scripts run by this library * - `#Requires `_ - * - `#SingleInstance `_ - This directive is provided by default (SingleInstance Off for the main thread) * - `#UseHook `_ - * - `#Warn `_ - Not relevant for this library * - `#AllowSameLineComments `_ - Not relevant for this library * - `#ClipboardTimeout `_ - Not relevant for this library * - `#CommentFlag `_ - Not relevant for this library * - `#ErrorStdOut `_ - Not relevant for this library * - `#EscapeChar `_ - Not relevant for this library * - `#InstallKeybdHook `_ - Not relevant for this library * - `#InstallMouseHook `_ - Not relevant for this library * - `#If `_ - Not relevant for this library * - `#IfTimeout `_ - Not relevant for this library