Async API

The async API is mostly identical to the sync API.

class ahk._async.engine.AsyncAHK(*, TransportClass=None, directives=None, executable_path='')[source]
__init__(*, TransportClass=None, directives=None, executable_path='')[source]
add_hotkey(keyname, callback, ex_handler=None)[source]

Register a function to be called when a hotkey is pressed.

Key notes:

  • You must call the start_hotkeys method for the hotkeys to be active

  • All hotkeys run in a single AHK process instance (but Python callbacks also get their own thread and can run simultaneously)

  • If you add a hotkey after the hotkey thread/instance is active, it will be restarted automatically

  • async functions are not directly supported as callbacks, however you may write a synchronous function that calls asyncio.run/loop.create_task etc.

Parameters:
  • keyname (str) – the key trigger for the hotkey, such as #n (win+n)

  • callback (Callable[[], Any]) – callback function to call when the hotkey is triggered

  • ex_handler (Optional[Callable[[str, Exception], Any]]) – a function which accepts two parameters: the keyname for the hotkey and the exception raised by the callback function.

Return type:

None

Returns:

add_hotstring(trigger, replacement_or_callback, ex_handler=None, options='')[source]

Register a hotstring, e.g., ::btw::by the way

Key notes:

  • You must call the start_hotkeys method for registered hotstrings to be active

  • All hotstrings (and hotkeys) run in a single AHK process instance separate from other AHK processes.

Parameters:
  • trigger (str) – the trigger phrase for the hotstring, e.g., btw

  • replacement_or_callback (Union[str, Callable[[], Any]]) – the replacement phrase (e.g., by the way) or a Python callable to execute in response to the hotstring trigger

  • ex_handler (Optional[Callable[[str, Exception], Any]]) – a function which accepts two parameters: the hotstring and the exception raised by the callback function.

  • options (str) – the hotstring options – same meanings as in AutoHotkey.

Return type:

None

Returns:

async set_title_match_mode(title_match_mode, /)[source]

Sets the default title match mode

Has no effect for Window/Control instance methods (these always use hwnd)

Does not affect methods called with blocking=True (because these run in a separate AHK process)

Reference: https://www.autohotkey.com/docs/commands/SetTitleMatchMode.htm

Parameters:

title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) – the match mode (and/or match speed) to set as the default title match mode. Can be 1, 2, 3, ‘Regex’, ‘Fast’, ‘Slow’ or a tuple of these.

Return type:

None

Returns:

None

async get_title_match_mode()[source]

Get the title match mode.

I.E. the current value of A_TitleMatchMode

Return type:

str

async get_title_match_speed()[source]

Get the title match mode speed.

I.E. the current value of A_TitleMatchModeSpeed

Return type:

str

async set_coord_mode(target, relative_to='Screen')[source]
Return type:

None

async get_coord_mode(target)[source]
Return type:

str

async control_click(button='L', click_count=1, options='', control='', title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Parameters:
  • button (Literal['L', 'R', 'M', 'LEFT', 'RIGHT', 'MIDDLE']) – the mouse button to use

  • click_count (int) – how many times to click

  • options (str) – options – same meaning as in AutoHotkey

  • control (str) – the control to click

  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Optional[AsyncFutureResult[None]]

Returns:

async control_get_text(*, control='', title='', text='', exclude_title='', exclude_text='', title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]

Analog to ControlGetText

Parameters:
  • control (str) –

  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Union[str, AsyncFutureResult[str]]

Returns:

async control_get_position(control='', title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]

Analog to ControlGetPos

Parameters:
  • control (str) –

  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Union[Position, AsyncFutureResult[Position]]

Returns:

async control_send(keys, control='', title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]

Analog for ControlSend

Reference: https://www.autohotkey.com/docs/commands/ControlSend.htm

Parameters:
  • keys (str) –

  • control (str) –

  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Optional[AsyncFutureResult[None]]

Returns:

start_hotkeys()[source]

Start the Autohotkey process for triggering hotkeys

Return type:

None

stop_hotkeys()[source]

Stop the Autohotkey process for triggering hotkeys

Return type:

None

async set_detect_hidden_windows(value)[source]

Analog for AutoHotkey’s DetectHiddenWindows

Parameters:

value (bool) – The setting value. True to turn on hidden window detection, False to turn it off.

Return type:

None

async list_windows(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]

Enumerate all windows matching the criteria.

Parameters:
  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Union[List[AsyncWindow], AsyncFutureResult[List[AsyncWindow]]]

Returns:

async get_mouse_position(coord_mode=None, *, blocking=True)[source]

Analog for MouseGetPos

Parameters:
  • coord_mode (Optional[Literal['Screen', 'Relative', 'Window', 'Client', '']]) –

  • blocking (bool) –

Return type:

Union[Tuple[int, int], AsyncFutureResult[Tuple[int, int]]]

Returns:

property mouse_position: Coroutine[None, None, Tuple[int, int]]

Convenience property for get_mouse_position

Returns:

async mouse_move(x=None, y=None, *, speed=None, relative=False, blocking=True)[source]

Analog for MouseMove

Parameters:
  • x (Union[str, int, None]) –

  • y (Union[str, int, None]) –

  • speed (Optional[int]) –

  • relative (bool) –

  • blocking (bool) –

Return type:

Optional[AsyncFutureResult[None]]

Returns:

async a_run_script(*args, **kwargs)[source]

Deprecated. Use run_script instead.

Return type:

Union[str, AsyncFutureResult[str]]

async get_active_window(blocking=True)[source]

Gets the currently active window.

Parameters:

blocking (bool) –

Return type:

Union[AsyncWindow, None, AsyncFutureResult[Optional[AsyncWindow]]]

Returns:

property active_window: Coroutine[None, None, AsyncWindow | None]

Gets the currently active window

Returns:

async find_windows(func=None, *, title_match_mode=None, title='', text='', exclude_title='', exclude_text='', exact=None)[source]
Return type:

List[AsyncWindow]

async find_windows_by_class(class_name, *, exact=None, title_match_mode=None)[source]
Return type:

List[AsyncWindow]

async find_windows_by_text(text, exact=None, title_match_mode=None)[source]
Return type:

List[AsyncWindow]

async find_windows_by_title(title, exact=None, title_match_mode=None)[source]
Return type:

List[AsyncWindow]

async find_window(func=None, *, title_match_mode=None, title='', text='', exclude_title='', exclude_text='', exact=None)[source]
Return type:

Optional[AsyncWindow]

async find_window_by_class(class_name, exact=None, title_match_mode=None)[source]
Return type:

Optional[AsyncWindow]

async find_window_by_text(text, exact=None, title_match_mode=None)[source]
Return type:

Optional[AsyncWindow]

async find_window_by_title(title, exact=None, title_match_mode=None)[source]
Return type:

Optional[AsyncWindow]

async get_volume(device_number=1)[source]
Return type:

float

async key_down(key, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async key_press(key, *, release=True, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async key_release(key, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async key_state(key_name, *, mode=None, blocking=True)[source]
Return type:

Union[int, float, str, None, AsyncFutureResult[str], AsyncFutureResult[int], AsyncFutureResult[float], AsyncFutureResult[None]]

async key_up(key, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async key_wait(key_name, *, timeout=None, logical_state=False, released=False, blocking=True)[source]
Return type:

Union[int, AsyncFutureResult[int]]

async run_script(script_text_or_path, /, *, blocking=True, timeout=None)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async set_send_level(level)[source]
Return type:

None

async get_send_level()[source]
Return type:

int

async send(s, *, raw=False, key_delay=None, key_press_duration=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async send_raw(s, *, key_delay=None, key_press_duration=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async send_input(s, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async type(s, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async send_play(s, *, key_delay=None, key_press_duration=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async set_capslock_state(state=None, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async set_volume(value, device_number=1, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async show_traytip(title, text, second=1.0, type_id=1, *, silent=False, large_icon=False, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async show_error_traytip(title, text, second=1.0, *, silent=False, large_icon=False, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async show_info_traytip(title, text, second=1.0, *, silent=False, large_icon=False, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async show_warning_traytip(title, text, second=1.0, *, silent=False, large_icon=False, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async show_tooltip(text='', x=None, y=None, which=1)[source]
Return type:

None

async hide_tooltip(which=1)[source]
Return type:

None

async sound_beep(frequency=523, duration=150, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async sound_get(device_number=1, component_type='MASTER', control_type='VOLUME', *, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async sound_play(filename, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async sound_set(value, device_number=1, component_type='MASTER', control_type='VOLUME', *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_get(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[AsyncWindow, None, AsyncFutureResult[Optional[AsyncWindow]]]

async win_get_text(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async win_get_title(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async win_get_class(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async win_get_position(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[Position, None, AsyncFutureResult[Optional[Position]]]

async win_get_idlast(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[AsyncWindow, None, AsyncFutureResult[Optional[AsyncWindow]]]

async win_get_pid(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[int, None, AsyncFutureResult[Optional[int]]]

async win_get_process_name(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[None, str, AsyncFutureResult[Optional[str]]]

async win_get_process_path(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[str, None, AsyncFutureResult[Optional[str]]]

async win_get_count(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[int, AsyncFutureResult[int]]

async win_get_minmax(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[None, int, AsyncFutureResult[Optional[int]]]

async win_get_control_list(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[List[AsyncControl], None, AsyncFutureResult[Optional[List[AsyncControl]]]]

async win_get_from_mouse_position(*, blocking=True)[source]
Return type:

Union[AsyncWindow, None, AsyncFutureResult[Optional[AsyncWindow]]]

async win_exists(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[bool, AsyncFutureResult[bool]]

async win_activate(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_title(new_title, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_always_on_top(toggle, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_bottom(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_top(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_disable(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_enable(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_redraw(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_style(style, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[bool, AsyncFutureResult[bool]]

async win_set_ex_style(style, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[bool, AsyncFutureResult[bool]]

async win_set_region(options, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[bool, AsyncFutureResult[bool]]

async win_set_transparent(transparency, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_set_trans_color(color, title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async windows(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)

Enumerate all windows matching the criteria.

Parameters:
  • title (str) –

  • text (str) –

  • exclude_title (str) –

  • exclude_text (str) –

  • title_match_mode (Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', ''], Tuple[Union[Literal[1, 2, 3, 'RegEx', ''], Literal['Fast', 'Slow', '']], Union[Literal['Fast', 'Slow', ''], Literal[1, 2, 3, 'RegEx', '']]], None]) –

  • detect_hidden_windows (Optional[bool]) –

  • blocking (bool) –

Return type:

Union[List[AsyncWindow], AsyncFutureResult[List[AsyncWindow]]]

Returns:

async right_click(x=None, y=None, click_count=None, direction=None, *, relative=None, blocking=True, coord_mode=None)[source]
Return type:

Optional[AsyncFutureResult[None]]

async click(x=None, y=None, button=None, click_count=None, direction=None, *, relative=None, blocking=True, coord_mode=None)[source]
Return type:

Optional[AsyncFutureResult[None]]

https://www.autohotkey.com/docs/commands/ImageSearch.htm

Return type:

Union[Tuple[int, int], None, AsyncFutureResult[Optional[Tuple[int, int]]]]

async mouse_drag(x, y, *, from_position=None, speed=None, button=1, relative=None, blocking=True, coord_mode=None)[source]
Return type:

None

async pixel_get_color(x, y, *, coord_mode=None, alt=False, slow=False, rgb=True, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

Return type:

Union[Tuple[int, int], None, AsyncFutureResult[Optional[Tuple[int, int]]]]

async win_close(title='', text='', seconds_to_wait=None, exclude_title='', exclude_text='', *, blocking=True, title_match_mode=None, detect_hidden_windows=None)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_kill(title='', text='', seconds_to_wait=None, exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_minimize(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_maximize(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_restore(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_wait(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, timeout=None, blocking=True)[source]
Return type:

Union[AsyncWindow, AsyncFutureResult[AsyncWindow]]

async win_wait_active(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, timeout=None, blocking=True)[source]
Return type:

Union[AsyncWindow, AsyncFutureResult[AsyncWindow]]

async win_wait_not_active(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, timeout=None, blocking=True)[source]
Return type:

Union[AsyncWindow, AsyncFutureResult[AsyncWindow]]

async win_wait_close(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, timeout=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_show(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_hide(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async win_is_active(title='', text='', exclude_title='', exclude_text='', *, title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Union[bool, AsyncFutureResult[bool]]

async win_move(x, y, *, width=None, height=None, title='', text='', exclude_title='', exclude_text='', title_match_mode=None, detect_hidden_windows=None, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async get_clipboard(*, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async set_clipboard(s, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async get_clipboard_all(*, blocking=True)[source]
Return type:

Union[bytes, AsyncFutureResult[bytes]]

async set_clipboard_all(contents, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

on_clipboard_change(callback, ex_handler=None)[source]
Return type:

None

async clip_wait(timeout=None, wait_for_any_data=False, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async block_input(value, /)[source]
Return type:

None

async reg_delete(key_name, value_name=None, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async reg_write(value_type, key_name, value_name=None, value=None, *, blocking=True)[source]
Return type:

Optional[AsyncFutureResult[None]]

async reg_read(key_name, value_name=None, *, blocking=True)[source]
Return type:

Union[str, AsyncFutureResult[str]]

async block_forever()[source]
Return type:

NoReturn

class ahk._async.transport.AsyncFutureResult(task)[source]
__init__(task)[source]
async result()[source]
Return type:

TypeVar(T_AsyncFuture)