在Win9x/NT下获取硬盘物理序列号

dcb0917 2007-09-21 10:39:37
to:ccrun
在Win9x/NT下获取硬盘物理序列号
http://www.ccrun.com/article.asp?i=605&d=l3si2a
在C++Builder 2007中编译出错?
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhrwolf1 2008-05-13
  • 打赏
  • 举报
回复
试试这个:

//-------返回C盘系列号--------------------------------------------------------------------
AnsiString __fastcall TfrmTest:: GetSeriesNumber()
{
AnsiString anMsg;
const char cSysDir[10]={'c',':','\\'};
char cVolue[50],cFileSysNameBuf[90];
unsigned long lVolueSize=50,lSeriesNumber,lFileSysFlag;
unsigned long lNoFileSysNameSize=100,lMaxnum=100;
unsigned long *lpSeriesNumber=&lSeriesNumber;
unsigned long *lpMaxnum=&lMaxnum,*lpFileSysFlag=&lFileSysFlag;
if(GetVolumeInformation(cSysDir,cVolue,lVolueSize,lpSeriesNumber,lpMaxnum,lpFileSysFlag,cFileSysNameBuf,lNoFileSysNameSize))
{
anMsg=lSeriesNumber;
}
else
{
anMsg="";
MessageBox(NULL,"程序运行时错误,请重新启动! ","系统",MB_ICONHAND|MB_TASKMODAL|MB_TOPMOST);
Application->Terminate();
}
return anMsg;
}
dcb0917 2007-09-27
  • 打赏
  • 举报
回复
bcb6编译后可生成*.asm和*.obj文件,CB2007中只生成*.asm文件,连接时找不到*.obj文件,由#pragma inline造成
Behard 2007-09-26
  • 打赏
  • 举报
回复
好像这种代码都是需要在 VC 中编译,关于汇编的编译有问题的
constantine 2007-09-26
  • 打赏
  • 举报
回复
什么错误?
以前在bcb6编译是汇编的问题,要独立出来放到一个单元里面去才可以

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧