最新消息:

使用System::Call调用自定义dll中的导出函数

nsis 永恒心锁 2184浏览 0评论
Function un.MyRemoveData
SetOutPath $INSTDIR
StrCpy $1 ${NSIS_MAX_STRLEN}
System::Call 'MiPlugin4NSIS::MiPIGetDataPath(t, *i) i(.r0, r1r1).r2 ? u'
IntCmp $2 0 +1 skiprmdir
RMDir /r "$0"
skiprmdir:
FunctionEnd

调用函数$INSTDIR目录中的MiPlugin4NSIS.dll的导出函数MiPIGetDataPath,函数参数类型为t(字符串), *i(int*),.r0(输出参数,放入$0中),

r1r1(第二个参数为输入输出参数,已经放在了$1中),.r2(函数调用返回值放入$2中),? u(调用完成后立即卸载dll)

关于参数中的字符串。。。有人说是char*的,但是我的NSIS为Unicode版本的,经过测试字符串类型为wchar_t*。。。非Unicode版本为啥还需要测试

免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » 使用System::Call调用自定义dll中的导出函数

您必须 登录 才能发表评论!