如何在AutoHotkey中调用自定义MyDll.dll的MyFunction函数?
在AutoHotkey中调用自定义DLL函数的正确方式
你的C++函数通过extern "C"导出,避免了名称修饰,可直接用AutoHotkey的DllCall调用,具体用法如下:
基本调用示例
假设MyDll.dll和你的AHK脚本在同一目录,调用代码如下:
; 调用MyFunction,传入参数5和3并接收返回值 result := DllCall("MyDll.dll\MyFunction", "int", 5, "int", 3, "int") ; 弹出返回结果 MsgBox, MyFunction返回值:%result%
代码细节说明
"MyDll.dll\MyFunction":指定目标DLL文件和导出函数名,因使用extern "C",函数名未被C++编译器修改,直接用原名称即可。"int", 5:声明第一个参数类型为int,传入值为5;第二个参数"int", 3同理。- 末尾的
"int":声明函数返回值类型为int,必须与C++函数的返回类型严格匹配。
额外注意事项
- 若DLL不在脚本目录,需填写完整绝对路径,例如:
"C:\Projects\MyDll.dll\MyFunction" - 确保DLL的位数(32/64位)与你使用的AutoHotkey版本一致,否则会调用失败。
- 若调用出错,可通过
ErrorLevel查看错误码排查问题,示例:result := DllCall("MyDll.dll\MyFunction", "int", 5, "int", 3, "int") if (ErrorLevel != 0) { MsgBox, 调用失败,错误码:%ErrorLevel% }
内容的提问来源于stack exchange,提问作者Oliver
相关产品推荐
相关产品推荐

