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
}
}
這對我的作品,因爲我知道在信息[「標題」]會發生什麼。 但是,有幾個問題:
- 我知道我的設備將在「成像設備」下。有沒有一種方法可以只識別「成像設備」分支的成員,而無需遍歷每個PnP設備?剛剛發現在我的PC上deviceCollection有190個條目。將它過濾到只是一對夫婦真的很好。 :)
- 有沒有一種方法可以識別設備是掃描儀,對於我不知道將要連接的掃描儀的型號/類型的情況?
這種方法「作品」的條款編譯和運行的建議,但manager.DeviceInfos.Count爲0。我會繼續尋找該爲什麼會發生這種情況。 – Evgeny 2009-02-10 03:48:21