获得逻辑磁盘序列号

#include <iostream>
#include 
<Windows.h>
using namespace std;
int main(int argc,char* argv[])
{
       DWORD DiskSerial
=0;
       ::GetVolumeInformation(
"c:/",NULL,NULL,&DiskSerial,NULL,NULL,NULL,NULL);
       printf(
"c:/%X ",DiskSerial);
}
注:这里获得的是逻辑盘C的序列号,而不是硬盘的序列号 
GetVolumeInformation API函数 
BOOL GetVolumeInformation( char *lpRootPathName, //盘符如:c://或d://
 char *lpVolumeNameBuffer, //盘符标卷存放的地址,可为NULL
DWORD nVolumeNameSize,//上地址的大小,可为NULL
DWORD *lpVolumeSerialNumber, //盘符序列号,可为NULL
DWORD *lpMaximumComponentLength,//盘符所支持的最长文件名,可NULL
 DWORD *lpFileSystemFlags,//有无压缩、索引等,可NULL
char *lpFileSystemNameBuffer,//盘符的文件格式存放的地址,可NULL
DWORD nFileSystemNameSize //上地址的大小。可NULL
 );

你可能感兴趣的:(C/C++)