在InstallShield2008中:
1、先在Behavior and Logic下Support Files/Billboards的Support Files面板里的适合位置插入要使用的DLL文件。
2、在要使用该DLL的.Rul文件头处声明要使用的DLL中的函数原型。格式为:prototype 返回类型 DLL名称.函数名(参数类型);
如:prototype int FindGame.GetGameInstallDir(BYREF string);
3、调用UseDLL函数将DLL引入内存,注意路径要正确。如:UseDLL( SUPPORTDIR ^ "FindGame.dll" );
4、使用DLL中的函数。如:number nResult; nResult = FindGame.GetGameInstallDir(szDir);
5、调用UnUseDLL函数将DLL从内存中移去,注意路径要正确。如:UnUseDLL( SUPPORTDIR ^ "FindGame.dll" );
在VC6.0的DLL工程中:
1、定义的导出函数遵守WINAPI(即__stdcall)调用约定.如:
int __stdcall GetGameInstallDir(LPSTR pInstalledDir)
{ sprintf(pInstalledDir, "%s", "Hello World!"); }
2、定义.def文件,声明导出函数。如:
LIBRARY "FindGame"
EXPORTS
GetGameInstallDir
总结:当整型数据传入DLL中时或从DLL中返回时,直接用int相对应即可。
当字符串传入DLL中且需要在DLL中改变内容后返回时,在InstallShield中声明参数类型应该为BYREF string,
DLL工程中对应的数据类型为LPSTR。
InstallShield2008使用DLL方法
最新推荐文章于 2021-05-15 00:54:13 发布