如何在InstallShield Pro^.2中调用WindowsAPI?(100分)

  • 主题发起人 主题发起人 lqg
  • 开始时间 开始时间
L

lqg

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在installshield Pro6.2的脚本中调用GetVolumeInformation()这个
API?(我想取得C盘的序列号)我反复试了好多回都不行。有100大分等待哦!
以下是有关的脚本代码:
//API函数的声明
prototype BOOL Kernel.GetVolumeInformation(BYREF STRING,
BYREF STRING, LONG, POINTER,POINTER,POINTER,BYREF STRING,LONG);
//相关变量的声明
NUMBER nResult,nSetupType;
STRING szTitle, szMsg;
LIST listInfo;
BOOL boolSerial;
STRING VolName,FileSysName,rootPath;
INT MaxCLength,FileSysFlag,nvSerialResult;
POINTER pMaxCLength,pFileSysFlag,pnvSerialResult;
//取回C盘的序列号,并用SdShowInfoList显示出来:
Dlg_SdShowSerial:
svSerialResult ="";
VolName ="";
rootPath ="c:";

pnvSerialResult=&nvSerialResult;
pFileSysFlag=&FileSysFlag;
pMaxCLength=&MaxCLength;

boolSerial=GetVolumeInformation(
rootPath,VolName,255,pnvSerialResult,
pMaxCLength,pFileSysFlag,FileSysName,255);

NumToStr(svSerialResult,nvSerialResult);

ListAddString(listInfo,svSerialResult,AFTER);
szTitle ="系统信息";
szMsg ="您需要将下面所示的号码告知软件所有者,/n"+
"并从该处获得相应的安装序列号。";
SdShowInfoList(szTitle,szMsg,listInfo);
ListDestroy(listInfo);
 
rootPath ="c:";
-> rootpath="c://";
想不到吧,我是照msdn上说的在后面加了2个//
分数拿来
 
谢谢你!我真的没想到会是这样,还一直疑神疑鬼是类型匹配得不对,真是太搞笑了一些。
100请笑纳。InstallShield的帮助是应该再改进一些。
 
接受答案了.
 
后退
顶部