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());

}

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

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s