获取硬盘的ID号码,需要返回一个字符串。并且这个字符串是用DWORDl来转换而来的。 GetVolumeInformation("C://",NULL,NULL,&dwIDESerial,NULL,NULL,NULL,NULL);
dwIDESerial 是DWORD类型。
从DWORD到string 遇到了麻烦。如果用mfc中的CString 一句话就可以搞定,但是现在的string 没有这个功能。只能另想办法。其中有两个函数可用,wsprintf(,"%X",)与sprintf但是第一个函数都要求是LPSTR。大胆创新一下 声明一个LPSTR 然后直接赋值给string ,此时编译通过,幸福的拿去调用,结果出现了下面的错误。runtime error abnormal program termination ,又失望。
回过头来看看,别人的代码如何传递字符的。原来是LPSTR为参数,调用的时候声明一个char 数组,不使用返回。原来我的思路一开始就是错的。。
照本宣科 试下 成功。。。哈哈。
DWORD 转char 数组时 至少要8个数组
-----------------------------------------------------------------------------
vc 调用CPUID号
使用别人的delphi的一个动态链接库。奈何也费了一番周折 。。。。。原因是 __stdcall,终于发现了它的用处 。。。哈哈。