本文主要是介绍通过TSMaster脚本访问dll的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
最近想用TSMaster的脚本写一个UDS方便项目使用(TSMaster目前暂不支持UDS,呵呵),没办法只好自己动手,我们的安全算法是DLL格式的,经过一番摸索,终于调好了,如下:
第一步,包含头文件
在全局定义中包含"windows.h",
同星库里边自带,路径是"TSMaster\bin\Data\compilers\BCC102\include\windows\sdk",还有其它好东西,有兴趣可以研究
第二步,DLL调用
接下来就是在你需要的函数里边调用windows 的API,网上例程很多,也可以参考下边的链接
附调API的例程https://blog.csdn.net/qq_29542611/article/details/86618902
下边是我自己测试,在启动函数里边调用DLL的安全算法
HMODULE module = LoadLibrary("D:/Program Files/TSMaster/bin/Data/compilers/self/capldll.dll"); //DLL存放路劲随意,注意斜杠为"/"if(NULL == module){log("失败");}else{log("成功");}typedef void (*pUdsLevel1)(unsigned char *random,unsigned char *result); //定义需要用到的函数类型pUdsLevel1 UdsLevel1;UdsLevel1 = (pUdsLevel1)GetProcAddress(module, "UdsLevel1"); //通过GetProcAddress获取dll内部函数
unsigned char random [4]={1,2,3,4};
unsigned char result [4]={0};
UdsLevel1(random,result); // 调用函数
log("%x,%x,%x,%x",result[0],result[1],result[2],result[3]) ;
FreeLibrary(module);// MessageBox(NULL, TEXT("开始学习Windows编程"),TEXT("消息对话框"),MB_OK);
执行结果
ok,调用正确,
可以调用DLL以后可以想象的空间就大了,嘿嘿!!
这篇关于通过TSMaster脚本访问dll的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!