c++ - 如何从驱动器号中获取驱动器名称?

标签 c++ windows winapi

我已经在互联网上搜索但找不到答案,我如何从 Windows 的 C++ 驱动器盘符中获取驱动器名称?我的意思是如果我说 G:\它必须给我笔式驱动器的名称。例如:可移动磁盘。

最佳答案

就像调用 GetVolumeInformation API function 一样简单.您传入驱动器盘符作为路径名(例如G:\),该函数将填充一个包含卷名的缓冲区(以及其他信息,如果您对此感兴趣)。

这是检索 G:\驱动器的卷名所需的代码。卷名被放入 szVolumeName 缓冲区:

WCHAR szVolumeName[MAX_PATH];
BOOL bSucceeded = GetVolumeInformationW(L"G:\\",
                                        szVolumeName,
                                        MAX_PATH,
                                        NULL,
                                        NULL,
                                        NULL,
                                        NULL,
                                        0);

如果在调用该函数时需要任何其他信息,例如卷的 DOS 序列号、文件系统名称等,则可以将参数从 NULL 更改为适当的缓冲区。

关于c++ - 如何从驱动器号中获取驱动器名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46548099/

相关文章:

c++ - 很奇怪的GetOpenFileName问题

c++ - Windows进程管理

c++ - 使用命名管道 WinAPI 的异步 I/O

c++ - 如何检查两个堆栈在 C++ 中是否相同?

c++ - 如何获取有关您的应用占用多少 RAM 的信息?

c++ - 编辑 ListView 控件项

windows - 关于DirectSoundFullDuplexCreate8的两个问题

c++ - C++ 是否与 Python 的 __setitem__ 等价?

c# - 同一文件中的文本和二进制数据

windows - 为什么需要 IP_MULTICAST_IF 和 IPV6_MULTICAST_IF?