Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Instrumentation (Management Events)

System.Management namespace’i altında bulunan sınıflar ile sistem araçlarını ve uygulamalarını ve WMI (Windows Management Instrumentation) ‘ı yönetebiliriz. DirectoryObjectSearher ile WMI kaynaklarına programatik olarak erişmemiz mümkündür. Bu arama işlemi SQL sorgularına benzer bir sintaks ile yapılır.

 

Aşağıdaki fonksiyona bir sorgu verilerek işletim sistemine,harddiske,memory e kısacası sistem kaynaklarını bir listview içerisine doldurabiliriz.

publicstaticvoid ListObjects(string query,ManagementObjectSearcher mos,ListView lv)

{

    try

    {

        lv.Items.Clear();

        lv.Visible = true;

        mos.Query = newObjectQuery(query);

 

        foreach (ManagementObject mo in mos.Get())

        {

            foreach (PropertyData pd in mo.Properties)

            {

                if (mo[pd.Name] != null)

                {

                ListViewItem lvi = newListViewItem();

                ListViewItem.ListViewSubItem lvi2 = newListViewItem.ListViewSubItem();

                vi.Text = pd.Name + ” : “+ pd.Value;

                lv.Items.Add(lvi);

 

                lvi2.Text = mo[pd.Name].ToString();

                lvi.SubItems.Add(lvi2);

                        }

                    }

                }

            }

    catch (Exception ex)

    {

        MessageBox.Show(ex.StackTrace);

    }

}
//İşletim sistemi bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_OperatingSystem”, mos, listView1);
//Bilgisayar bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_ComputerSystem”, mos, listView1);
//İşlemci bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_processor”, mos, listView1);
//Bios bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_bios”, mos, listView1);
//Timezone bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_timezone”, mos, listView1);
//Memory bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_LogicalMemoryConfiguration”, mos, listView1);
//Video Controller bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_VideoController”, mos, listView1);

//C,D,E gibi mantıksal disk bilgilerini almak

ManageClass.ListObjects(“SELECT * FROM Win32_LogicalDisk WHERE DriveType=3”, mos, listView1);

 

 

//Sistemdeki Duran Servisleri listelemek

List<string> collection =newList<string>();

ManagementObjectSearcher searcher =

    newManagementObjectSearcher(“SELECT * FROM Win32_Service WHERE State=’Paused'”);

foreach(ManagementObject obj in searcher.Get())

{

        collection.Add(obj[“DisplayName”].ToString());

}

Reklamlar

Haziran 12, 2010 - Posted by | C# | , , ,

Henüz yorum yapılmamış.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s