列出我的计算机上安装的物理驱动器

Listing physical drives installed on my computer

本文关键字:驱动器 安装 我的 计算机      更新时间:2023-10-16

可能重复:
如何列出物理磁盘?

列出计算机上安装的物理驱动器的"最佳方式"(最快)C++是什么?有助推库可以做到这一点吗?

使用GetLogicalDriveStrings()检索所有可用的逻辑驱动器。

#include <windows.h>
#include <stdio.h>

DWORD mydrives = 100;// buffer length
char lpBuffer[100];// buffer for drive string storage
int main()
{
      DWORD test = GetLogicalDriveStrings( mydrives, lpBuffer);
      printf("The logical drives of this machine are:nn");
      for(int i = 0; i<100; i++)    printf("%c", lpBuffer[i]);

      printf("n");
      return 0;
}

或使用GetLogicalDrives()

#include <windows.h>
#include <direct.h>
#include <stdio.h>
#include <tchar.h>
// initial value
TCHAR szDrive[ ] = _T(" A:");
int main()
{
  DWORD uDriveMask = GetLogicalDrives();
  printf("The bitmask of the logical drives in hex: %0Xn", uDriveMask);
  printf("The bitmask of the logical drives in decimal: %dn", uDriveMask);
  if(uDriveMask == 0)
      printf("nGetLogicalDrives() failed with failure code: %dn", GetLastError());
  else
  {
      printf("nThis machine has the following logical drives:n");
  while(uDriveMask)
    {// use the bitwise AND, 1–available, 0-not available
     if(uDriveMask & 1)
        printf("%sn",szDrive);
     // increment... 
     ++szDrive[1];
      // shift the bitmask binary right
      uDriveMask >>= 1;
     }
    printf("n ");
   }
   return 0;
}

一种可能性是使用WMI枚举Win32_DiskDrive的实例。