use*_*541 7 c# c++ drive driveinfo
我有一个带有卷id的txt文件.
我需要从驱动器卷ID(Windows)获取驱动器信息(驱动器号,驱动器大小等):
卷ID采用以下格式:
\\?\Volume{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
Run Code Online (Sandbox Code Playgroud)
驱动器可以是可移动/本地磁盘
检索信息无关紧要(可能是脚本,cpp,c#,java代码).
编辑:
我试图用DriveInfo,的Win32_LogicalDisk,Win32_Volume,Win32_PnpDevices - 但我找不到这个奇怪的ID ......在所有情况下的ID有differrent格式
更新:
找到了怎么做.
你可以像这样枚举Win32_Volume:
ManagementObjectSearcher ms = new ManagementObjectSearcher("Select * from Win32_Volume");
foreach(ManagementObject mo in ms.Get())
{
var guid = mo["DeviceID"].ToString();
if(guid == myGuid)
return mo["DriveLetter"];
}
Run Code Online (Sandbox Code Playgroud)
体积大小等很容易。只需使用普通的 Win32 方法即可。任何接受"C:"作为驱动器的函数也将接受卷 GUID 路径(因为这就是 a 的\\?\Volume{XXX}正确调用方式)。
“驱动器号”有点棘手,因为可能有 0 个、1 个或多个驱动器号。您需要打电话FindFirstVolumeMountPoint / FindNextVolumeMountPoint / FindVolumeMountPointClose才能获得所有这些信息。
| 归档时间: |
|
| 查看次数: |
12702 次 |
| 最近记录: |