如何确定驱动器的类型?

Amy*_*Amy 5 c++ windows

我试图找出特定驱动器的设备类型。我也想知道如何在 Mac OS X 和 Linux 上做到这一点,但现在如果这太多了,Windows 解决方案就足够了。

因此,假设我有一个驱动器 H。我可以通过 Win32 API 函数 GetDriveType() 确定该设备是否为可移动驱动器。我也可以在 Mac OS X 上找到它。

但是我似乎无法以可靠的方式找到设备类型。例如,它是 USB 闪存驱动器、便携式硬盘驱动器 (PHD) 等。

在 Windows 中挖掘注册表,我似乎也找不到太多信息。尽管如果可能的话,我更愿意为此使用一些 API,但如果需要,我将使用注册表。

现在,我感兴趣的是……是闪存驱动器(因此我可以在我的程序中显示 Usb 闪存驱动器图标)或便携式硬盘驱动器(因此,将显示 PHD 图标)。

Yur*_*ras 1

设备类别是您想要的吗?如果是这样,你可以尝试libusb适用于 win32)。使用libusb_get_device_descriptor功能。