InstallShield2008使用DLL方法

在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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章