0

我想做一些涉及(可移动)设备的事情,所以我正在查看 WMI 和其他 API、“设备和打印机”屏幕和“安全删除硬件”弹出窗口,因为我希望获得尽可能无缝的体验。然而问题..是我找不到任何方法来获取名称,因为我的用户在他的 PC 中“知道”它们。

示例...我连接了一个 iPod,这在 DaP 和 SRH 中都显示为“iPod”,这太棒了。在 WMI 中,我能找到的最接近的是“Apple Inc. iPod”和“Apple iPod USB Device”。类似的故事适用于其他硬件,如 WD My Book 和其他此类硬件。我在哪里可以找到正确的字符串?

由于我开始怀疑我是否正在使用 WMI 从正确的方向接近更大的图景,因此需要更多解释……我们在这里对可移动硬件做了相当多的工作,99% 的磁盘驱动器。我考虑过硬编码从 A 到 Z 的循环并检查每个驱动器,但据我所知,可移动卷不需要安装在字母上,但也可以转储到 ntfs 上的空文件夹中。那个和我的小疑问可能有其他(非驱动器)硬件在拔出之前需要“最终确定”,这增加了一个小问题,即我可能会一起提出错误的问题。(编辑:如果这是太多不相关的信息,请随意编辑这个问题。)

4

2 回答 2

0

据我所知,这是行不通的。Powershell 代码(只不过是另一个 wmi 包装器)仅检索已安装设备的卷信息,例如 USB 密钥。我有一个 iphone 连接,我看到注意到..

于 2010-12-30T13:51:09.697 回答
0

您可以使用 WMI 获得此信息。这个 Powershell 脚本就是这样做的,有趣的属性是 Label:

PS C:\>gwmi -Class Win32_Volume | 选择名称、标签

名称标签
---- -----
C:\Windows 7
D:\Windows 2008
C:\TEST\ MYUSBKEY
E:\恢复

如您所见,它也适用于未安装字母的设备。

于 2010-01-17T16:16:46.073 回答