C# ile Bilgisayar Bilgileri Almak

Ağustos 10, 2016 Mustafa BÜKÜLMEZ 0 Yorum


Öncelikle merhaba arkadaşla bugünkü makalemizin amacı bilgisayarımızın özelliklerini almak için yapmamız gerekenler. Öncelikle bu konuyla ilgili gelen sorulardan dolayı ve internette bununla ilgili yanlış yazıların olması sebebiyle bu kodları sizlerle paylaşıyorum. Umarım yardımcı olur;

Yazmamız gereken kodlar;

Eklemeniz gerkenler genel olarak


/////////////////////////////////////////////////////////////////////

using System.Diagnostics;
using System.Deployment.Application;
using System.Collections;
using System.Net;
using System.IO;
using SoftwareUpdate;
using System.Net.NetworkInformation;
using System.Reflection;
using Microsoft.Win32;
using System.Management;

//Mac Adresi Almak İçin
private void MAC()
        {
            try
            {
                String macadress = string.Empty;
                string mac = null;
                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    OperationalStatus ot = nic.OperationalStatus;
                    if (nic.OperationalStatus == OperationalStatus.Up)
                    {
                        macadress = nic.GetPhysicalAddress().ToString();
                        break;
                    }
                }
                for (int i = 0; i <= macadress.Length - 1; i++)
                {
                    mac = mac + ":" + macadress.Substring(i, 2);
                    i++;
                }
                mac = mac.Remove(0, 1);
                lblMac.Text = mac;
                MAC_Adress = mac;
            }
            catch
            {

            }
        }

/////////////////////////////////////////////////////////////////////
//Ip Adresini Almak İçin
        private void IP()
        {
            string host = Dns.GetHostName();
            IPHostEntry ip = Dns.GetHostByName(host);
            lblIP.Text = ip.AddressList[0].ToString();
            IPAdress = ip.AddressList[0].ToString();
           
        }

/////////////////////////////////////////////////////////////////////

        private void BUILD_DATE()//Exenin Tarihini Almak İçin
        {
            DateTime buildDate = new                FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
            BuildDate = "Güncelleme Tarihi " + buildDate.ToString();
            Kullanici_Islem.GuncellemeTarihi = "Güncelleme Tarihi " + buildDate.ToString();
        }

/////////////////////////////////////////////////////////////////////
//İşlemci Özellikleri için
        private void CPU()
        {
            lblcpusayisi.Text = System.Environment.ProcessorCount.ToString();
            RegistryKey Rkey1 = Registry.LocalMachine;
            Rkey1 = Rkey1.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
            lblcpumarka.Text = (string)Rkey1.GetValue("ProcessorNameString").ToString();
        }

/////////////////////////////////////////////////////////////////////
//Hardisk bilgileri için
        public class HardDrive
        {
            public string Model { get; set; }
            public string InterfaceType { get; set; }
            public string Caption { get; set; }
            public string SerialNo { get; set; }
        }



        private void HDD()
        {
            var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
            foreach (ManagementObject wmi_HD in searcher.Get())
            {
                HardDrive hd = new HardDrive();
                hd.Model = wmi_HD["Model"].ToString();
                hd.InterfaceType = wmi_HD["InterfaceType"].ToString();
                hd.Caption = wmi_HD["Caption"].ToString();
                hd.SerialNo = wmi_HD.GetPropertyValue("SerialNumber").ToString();//get the serailNumber of diskdrive
                string hdd_id = hd.SerialNo;
                //labelControl5.Text = hdd_id;
            }
        }
/////////////////////////////////////////////////////////////////////

// burada bir NOT: Hdd bilgileri ile işlem yapacaksınız birden falza hdd oldugunda işler karışabiliyor. buna dikkat ederek işlemlerinizi yapınız.

/////////////////////////////////////////////////////////////////////

        private void RAM()//Rem bilgisi için
        {
            ManagementObjectSearcher Search = new ManagementObjectSearcher("Select * From Win32_ComputerSystem");

            foreach (ManagementObject Mobject in Search.Get())
            {
                double Ram_Bytes = (Convert.ToDouble(Mobject["TotalPhysicalMemory"]));
                double ramgb = Ram_Bytes / 1073741824;
                double islem = Math.Ceiling(ramgb);
                lblram.Text = islem.ToString() + " GB";
            }
        }

/////////////////////////////////////////////////////////////////////

        private void EKRAN()//Ekran Kartı Özellikleri İçin
        {
            ManagementObjectSearcher ekran = new ManagementObjectSearcher("Select * From Win32_VideoController");

            foreach (ManagementObject Mobject in ekran.Get())
            {
                lblEkranKartiVerisyonu.Text = Mobject["DriverVersion"].ToString() + " Date: " + Mobject["DriverDate"].ToString().Substring(0, 8);
                lblekrangb.Text = Mobject["name"].ToString() + " " + Mobject["AdapterRam"].ToString();
            }
        }
        private void OS()//İşletim Sistemi Özellikleri İçin
        {
            lblos.Text = System.Environment.OSVersion.ToString();
        }
   
/////////////////////////////////////////////////////////////////////

Bu metodların hepsini aynı anda çalıştırmayın. Ben daha önce yazdığım bir projenin açılışında kullanmıştım fakat formun açılışını aşırı derecede yavaşlatıyor. Sadece gereken yerlerde kullanmanızı tavsiye ederim.

Saygılarımla.
Mustafa BÜKÜLMEZ
http://mustafabukulmez.com/

0 Yorum: