【发布时间】:2012-04-17 06:33:53
【问题描述】:
我有一个包含卷 ID 的 txt 文件。
我需要从驱动器卷 ID (Windows) 中获取驱动器信息(驱动器号、驱动器大小等):
卷 id 的格式如下:
\\?\Volume{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
驱动器可以是可移动/本地磁盘
如何检索信息并不重要(可以是脚本、cpp、c#、java 代码)。
编辑:
我尝试使用 DriveInfo、Win32_LogicalDisk、Win32_Volume、Win32_PnpDevices - 但我找不到这个奇怪的 id...在所有情况下,id 都有不同的格式
更新:
知道怎么做。
你可以像这样枚举 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"];
}
【问题讨论】:
-
你是如何在 txt 文件中获得该 ID 的。对其进行逆向工程以获得结果。
-
我正在尝试跟踪“文件历史记录”(Windows 8 中的新功能)保存备份文件的位置。我发现目标设备名称保存在一个xml文件中,它还保存了驱动器号和名称,但这还不够,因为这些参数不是唯一的,可以更改:somene可以弹出设备,然后在下次它将分配一个不同的字母,等等......所以我发现微软还保存了如下所示的内容:“
\\?\Volume{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} " 这是唯一的 id。