1

我正在处理的应用程序正在使用扫描仪,它可能属于几种类型之一。我需要识别附加的扫描仪,提供从附加的扫描仪中选择默认扫描仪的选项,并在需要时更改此选择。到目前为止,我想出了这个解决方案:

ManagementObjectSearcher search = new System.Management.ManagementObjectSearcher("SELECT * From Win32_PnPEntity");

ManagementObjectCollection deviceCollection = search.Get();

foreach (ManagementObject info in deviceCollection)
{
    string deviceName = Convert.ToString(info["Caption"]);

    if( /* check something about deviceName */)
    {
        // add a scanner to the list
    }
}

这对我有用,因为我知道在 info["Caption"] 中会发生什么。但是,有几个问题:

  • 我知道我的设备将在“成像设备”下。有没有办法只识别“成像设备”分支的成员,而不遍历每个 PnP 设备?刚刚发现在我的 PC 上 deviceCollection 有 190 个条目。将它过滤到只有一对会非常好。:)
  • 对于我事先不知道将要连接的扫描仪的型号/类型的情况,有没有办法识别该设备是扫描仪?
4

1 回答 1

2

您可以按照此线程中的建议尝试 Windows 图像采集自动化库

于 2009-02-10T03:14:58.613 回答