如何使用C / C ++检索可移动存储驱动器号

时间:2015-05-25 09:09:15

标签: c++ c windows removable-drive

如何获取可移动驱动器盘符,以便创建路径并将数据从PC复制到可移动驱动器?

目前我正在使用

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

如果我直接从USB运行我的软件,我没有问题,它将返回给我D:或E:,这取决于我猜的可用性。但我的问题是我必须从PC运行我的USB程序,这当然是安装在C盘中的PC程序,因此_getcwd将给我C:\驱动器号。这就是为什么我要寻找一种方法来检查当前的可移动驱动器号。

这是我能找到的最近的问题:Detect removable drive (e.g. USB flash drive) C/C++

1 个答案:

答案 0 :(得分:2)

GetLogicalDrives()将为您提供当前可用的所有驱动器。循环通过给定的位向量(位0是驱动器A:,位1是驱动器B:等),并且对于每个可用的驱动器,检查GetDriveType()是否返回DRIVE_REMOVABLE

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