Frage

Die Anwendung, an der ich arbeite, ist die Verwendung eines Scanners, der möglicherweise zu einem wenigen Typen gehört. Ich muss den beigefügten Scanner (en) identifizieren, eine Option zur Auswahl eines Standardscanners aus den beigefügten Auswahlmöglichkeiten geben und diese Auswahl bei Bedarf auch ändern. Bisher habe ich mir diese Lösung ausgedacht:

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
    }
}

Das funktioniert für mich, weil ich weiß, was mich in den Info ["Caption"] erwarten kann. Es gibt jedoch ein paar Fragen:

  • Ich weiß, dass meine Geräte unter "Bildgebungsgeräten" stehen werden. Gibt es eine Möglichkeit, nur Mitglieder der "Bildgebungsgeräte" zu identifizieren, ohne jedes PNP -Gerät durchzuschlingen? Ich habe gerade herausgefunden, dass die DeviceCollection auf meinem PC 190 Einträge hat. Wäre wirklich schön, es auf nur ein Paar zu filtern. :)
  • Gibt es eine Möglichkeit zu ermitteln, dass das Gerät ein Scanner für das Szenario ist, in dem ich vorher keine Ahnung über das Modell/Typ eines Scanners habe, der angehängt wird?
War es hilfreich?

Lösung

Sie können die Windows Image Acquisition -Automatisierungsbibliothek wie vorgeschlagen ausprobieren Dieser Thread

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top