如何检测分配两次的驱动器号?

如何检测分配两次的驱动器号?

Windows 中有一个小错误,我想创建一个小应用程序作为解决方案。所以,在我的公司,我们有多个网络驱动器(F:\、G:\、H:\、I:\ 等),有时如果我连接外部 USB 设备(例如读卡器),Windows 会分配一个已经使用的驱动器号。例如,我有一个网络驱动器 F:\,我连接了读卡器,Windows 也会将 F:\ 分配给此设备,所以我无法使用该 USB 设备,除非我更改它的驱动器号。

我的问题是:

  • 当这些设备或驱动器号被分配两次时,我该如何检测它们?
  • 我如何检测其中哪一个是 USB 设备?
  • 如何为该设备重新分配驱动器号?

我想用 C 来做这个。

谢谢。

答案1

你想要的大部分东西都可以用FindFirstVolume及其朋友(示例这里涵盖所有内容),为了获得类型,你可以使用GetDriveType,最后SetVolumeMountPoint将重命名设备驱动器号。

相关内容