我们在进行Windows编程的时候,经常需要进行遍历驱动器并获取驱动器属性,我们来实现遍历驱动器并获取驱动器属性。请见代码实现与注释讲解
#define _WIN32_WINNT 0x0501
/* 头文件 */
#include <windows.h>
#include <stdio.h>
/* 预定义 */
#define BUFSIZE MAX_PATH
/* 函数申明 */
BOOL GetDirverInfo(LPSTR szDrive);
/* ************************************
* 功能 应用程序主函数,遍历驱动器并调用
* GetDirverInfo 获取驱动器属性
**************************************/
int main(void)
{
TCHAR buf[BUFSIZE]; // 卷标信息
HANDLE hVol; // 卷遍历句柄
BOOL bFlag;
hVol = FindFirstVolume (buf, BUFSIZE );
if (hVol == INVALID_HANDLE_VALUE)
{
printf (TEXT("No volumes found!\n"));
return (-1);
}
GetDirverInfo (buf);
while( FindNextVolume(
hVol,
buf,
BUFSIZE
))
{
GetDirverInfo (buf);
}
bFlag = FindVolumeClose(
hVol
);
return (bFlag);
}
/* ************************************
* BOOL GetDirverInfo(LPSTR szDrive)
* 功能 获取驱动器的属性
* 参数 LPSTR szDrive