http://www.autohotkey.com/forum/topic53773.html
Q:I am searching for is a way to execute AHK commands from a Python script. Is this possible?
A:Yes. Here is an example.
tested with python2.6, requires AutoHotkey.dll in the working directory or path...
ahkpython.ahk:
#Persistent dllcall(A_ScriptParams, "int", 42, "cdecl int") return f1:: inputbox, x, enter a numerical parameter for python callback result := dllcall(A_ScriptParams, "int", x, "cdecl int") return
ahkpython.py
from ctypes import * ahk = cdll.AutoHotkey pyclient = create_string_buffer("ahkpython.ahk") # no unicode in ahk CMPFUNC = CFUNCTYPE(c_int, c_int) def py_cmp_func(a): print "ahk: " , a return a cmp_func = CMPFUNC(py_cmp_func) fx = create_string_buffer(str(cast(cmp_func, c_void_p).value)) script = create_string_buffer(""" fx2(msg){ WinActivate %msg% msgbox in function fx2 with %msg% from python return "success" } """) ahk.ahkdll(pyclient, "", fx) ahk.ahkassign(create_string_buffer("fx"), fx) ahk.addScript(script) ahk.ahkFunction(create_string_buffer("fx2"), create_string_buffer("Untitled"))
remarks:
create_string_buffer is required because autohotkey.dll exported functions do not work with unicode.
See HotkeyIt's excellent chm help file for documentation on the functions.