如何检索使用C / C ++ [复制]可移动存储驱动器盘符(How to retrieve remo

2019-10-23 05:25发布

这个问题已经在这里有一个答案:

  • 枚举所有可用的驱动器号在Windows 6回答

我怎样才能获得可移动驱动器盘符,这样我可以创建一个路径和PC的数据复制到可移动驱动器?

目前我使用

_getcwd(buff,b_SIZE);
MessageBox(buff);
strncpy(Root,buff,3);

我有没有问题,如果我直接从U盘上运行我的软件,它会返回到我要么d:或E:这取决于我猜的可用性。 但我的问题是,我不得不从PC这当然是安装在C盘PC的计划,因此,这种运行我的USB程序_getcwd会给我C:\驱动器盘符。 这就是为什么我在寻找是否有检查当前的可移动驱动器字母代替的方式。

这是最接近我能找到我的问题: 检测可移动驱动器(如USB闪存驱动器)C / C ++

Answer 1:

GetLogicalDrives()会给你所有目前可用的驱动器。 循环通过给定的位矢量(位0是驱动器A:位1是驱动器B:等)和对于每个可用的驱动器检查是否GetDriveType()返回DRIVE_REMOVABLE

或者,你可以直接跳过GetLogicalDrives(),并遍历字母表中所有26个字母,寻找DRIVE_REMOVABLE



文章来源: How to retrieve removable storage drive letter using C/C++ [duplicate]