之前收集的获取硬盘信息的函数语言是C++,可以成功获得硬盘驱动器的信息,希望能帮到您
void CGetdiskinfo(DWORD *dwNum,char chDriveInfo[][256])//获取硬盘信息
{
DWORD DiskCount = 0;
//利用GetLogicalDrives()函数可以获取系统中逻辑驱动器的数量,函数返回的是一个32位无符号整型数据。
DWORD DiskInfo = GetLogicalDrives();
//通过循环操作查看每一位数据是否为1,如果为1则磁盘为真,如果为0则磁盘不存在。
while(DiskInfo)
{
//通过位运算的逻辑与操作,判断是否为1
//Sleep(10);
if(DiskInfo&1)
{
DiskCount++;
}
DiskInfo = DiskInfo >> 1;//通过位运算的右移操作保证每循环一次所检查的位置向右移动一位。*/
}
// if (*dwNum < DiskCount)
// {
// return;//实际的磁盘数目大于dwNum
// }
*dwNum = DiskCount;//将磁盘分区数量保存
//-------------------------------------------------------------------//
//通过GetLogicalDriveStrings()函数获取所有驱动器字符串信息长度
int DSLength = GetLogicalDriveStrings(0,NULL);
// WCHAR* DStr = new WCHAR[DSLength];
char *DStr=new char[DSLength];
memset(DStr,0,DSLength);
//通过GetLogicalDriveStrings将字符串信息复制到堆区数组中,其中保存了所有驱动器的信息。
GetLogicalDriveStrings(DSLength,(LPSTR)DStr);
int DType;
int si=0;
BOOL fResult;