Question

L'application je travaille est en utilisant un scanner, qui peut appartenir à l'un des quelques types. Je dois identifier le scanner connecté (s), donner une option pour sélectionner un scanner par défaut de ceux qui sont attachés et aussi changer cette sélection chaque fois que nécessaire. Jusqu'à présent, je suis venu avec cette solution:

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

Cela fonctionne pour moi parce que je sais à quoi vous attendre dans l'info [ « Légende »]. Cependant, il y a quelques questions:

  • Je sais que mes appareils vont être sous « dispositifs d'imagerie ». Y at-il un moyen d'identifier uniquement les membres de la branche « dispositifs d'imagerie », sans boucle à travers tous les périphériques PnP? Je viens de trouver que sur mon PC le deviceCollection a 190 entrées. Ce serait vraiment agréable de filtrer vers le bas juste un couple. :)
  • Est-il possible d'identifier que le dispositif est un scanner, pour le scénario où je ne sais pas à l'avance sur le modèle / type d'un scanner qui sera jointe?
Était-ce utile?

La solution

Vous pouvez essayer l'acquisition d'images Windows Automatisation Library comme suggéré dans ce fil

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top