2013-04-22 9 views
8

Mam naprawdę ciężki czas, zastanawiając się, jak to zrobić. Zasadniczo wszystko, co chcę zrobić, to przeczytać wszystkie urządzenia podłączone do komputera, a także przeczytać producenta sterownika i wersję sterownika urządzenia. Jest to informacja, którą można uzyskać w menedżerze urządzeń, ale chcę to zrobić programowo.Jak odczytywać urządzenia i wersje sterowników

Zrobiłem dużo wyszukiwania i czytania, i nie mogę znaleźć niczego, co pomaga mi to zrobić. Są rzeczy WMI, które powinny działać, ale nie mogę znaleźć żadnych przykładów, które działają. Czytałem i czytałem o WMI, ale wciąż nie mogę tego rozgryźć.

Czy są jakieś tutoriale, które mogłyby wyjaśnić WMI lepiej niż strona Microsoft? Potrzebuję, żeby to było na poziomie crayoli.

+1

Nie "C#", ale [Skrypciarz] (http://blogs.technet.com/b/heyscriptingguy/archive/2006/03/20/how-can-i-get-a-list-of- installed-device-drivers.aspx) ma kilka wskazówek, które mogą pomóc. I czy jest to witryna firmy Microsoft, czy uwierzycie ?! – icabod

Odpowiedz

10

Proszę spojrzeć na poniższym artykule

Get Your Hardware Information Using C#

Retrieving Information From Windows Management Instrumentation

EDIT:

Wierzę, że szukasz następującym Win32_PnPSignedDriver klasy

public class Program 
{ 
    public static void Main() 
    { 
     ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * from Win32_PnPSignedDriver"); 

     ManagementObjectCollection objCollection = objSearcher.Get(); 

     foreach (ManagementObject obj in objCollection) 
     { 
      string info = String.Format("Device='{0}',Manufacturer='{1}',DriverVersion='{2}' ", obj["DeviceName"], obj["Manufacturer"], obj["DriverVersion"]); 
      Console.Out.WriteLine(info); 
     } 

     Console.Write("\n\nAny key..."); 
     Console.ReadKey(); 
    } 
} 

Ponadto, jeśli zamierzasz dużo pracować nad WMI, możesz równie dobrze użyć tego narzędzia, aby uniknąć tworzenia aplikacji testowych.

+0

Ok, zbliżam się do tych wszystkich rzeczy, które łączyłeś. Moje jedyne pytanie brzmi: które ze wszystkich klas Win32 pozwoli mi zobaczyć wersje urządzeń i sterowników? –

+0

Nazywam to odpowiedzią. Nadal muszę przeszukiwać wszystkie klasy Win33, aby zobaczyć, które będą w stanie dać mi urządzenia i sterowniki. –

+0

Myślę, że to jedyny, który mógłbym znaleźć, o właściwościach, które chciałeś. Jeśli jest jakakolwiek inna, byłbym zadowolony. –

1

Jeśli szukasz konkretnego rodzaju informacji o urządzeniu (załóżmy tylko Bluetooth) z komputera - wtedy "ManagementObjectSearcher" w C# jest wystarczająco dobre. Po prostu trzeba to
using System.Management;
umieścić wyszukiwanie warunek z nim jak po

ManagementObjectSearcher mos = 
        new ManagementObjectSearcher(@"\root\cimv2", @"Select * From Win32_PnPEntity WHERE ClassGuid = '"+deviceGuid+"'"); 

tutaj „deviceGuid” jest typem klasy urządzenia (wartość GUID [sama dla wszystkich komputerów PC]).

Powiązane problemy