将Python和AutoHotkey结合起来

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.

你可能感兴趣的:(String,function,python,buffer,chm)