Znów przyuczająć się do egzaminku zachaczyłem o fajną rzecz. Mianowicie wspomniane wyżej WMI czyli Windows Management Instrumentation. Umożliwia ono odpytanie się komputera o jakieś ciekawe parametry. Spójrzmy na przykład:


ManagementClass mClass = new
ManagementClass("Win32_PointingDevice");

ManagementObjectCollection kolekcja = mClass.GetInstances();
ManagementObjectCollection.ManagementObjectEnumerator enumerator =
kolekcja.GetEnumerator();
while (enumerator.MoveNext())
{
ManagementObject obiekt = (ManagementObject)enumerator.Current;
Console.WriteLine("Opis: {0}\n", obiekt["Description"]);
}


Dla lubujących się w zapytaniach SQL (a konkretniej WQL:-)) jest też wersja inna:



ManagementObjectSearcher manageSearcher = new
ManagementObjectSearcher
("SELECT Description FROM Win32_PointingDevice");
ManagementObjectCollection kolekcja = manageSearcher.Get();
ManagementObjectCollection.ManagementObjectEnumeratorenumerator =
kolekcja.GetEnumerator();
while
(enumerator.MoveNext())
{
ManagementObject
obiekt = (ManagementObject)enumerator.Current;
Console.WriteLine("Opis: {0}\n", obiekt["Description"]);

}


No i będziemy mieli na ekranie nazwę urządzenia wskaźnikowego u mnie to jakiś TouchPad 🙂
Z ciekawych rzeczy to trzeba zwrócić uwagę na to iż, w zapytaniu takim możemy korzystać z operatorów i słów kluczowych podobnie jak w zapytaniach SQL np. WHERE, które może nam skutecznie ograniczyć wyniki. Dla mnie bomba!!!

Ponadto ogrom jest, klas z których możemy zaczytywać informacje. Nawet nie będę tu jej przytaczał, bo sam jeszcze nie zobaczyłem pewnie połowy nawet. Ale są tam klasy odnoszące się do Systemu Operacyjnego,Klawiatury,Dysków…dokładnie wszystko to co chcieliście wiedzieć o systemie a nie wiedzieliście jak to uzyskać 🙂
Listę klas i pól można znaleźc w MSDN: link. Tak jak wspominałem – dużo tego. Miłej lektury 🙂