C# Bilgisayar Bilgileri Almak

C# Bilgisayar Bilgileri Almak

Bu derste IP, MAC, Kullanıcı Adı, İşlemci ve HDD serial numaraları vs. gibi bilgileri almayı göreceğiz.

Selam Arkadaşlar.

Arkadaşlar bu kodlar genel olarak her yerde aynı olduğu için direk kodları paylaşacağım. Bir kaç projemde lazım olmuştu. Birazdan ben araştırdım, denedim ve çalışan halleri ile sizlerle paylaşmak istedim. Tüm kodları tek seferde vereceğim içerideki açıklamalardan ayrıt edebilirsiniz.

Görelim;

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


      //Exe'nin build Tarihini Almak İçin
        private void BUILD_DATE()
        {
            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("HARDWAREDESCRIPTIONSystemCentralProcessor");
            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.


      //RAM bilgisi için
        private void RAM()
        {
            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";
            }
        }
       
      //Ekran Kartı Özellikleri İçin
        private void EKRAN()
        {
            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(5 dak beklemiştim.). Sadece gereken yerlerde kullanmanızı tavsiye ederim.

Bu ders bu kadar sevgili arkadaşlar umarım faydalı olur.

Yorumlarınızı eksik etmeyin arkadaşlar. Artılarımı ve eksilerimi söylemekten çekinmeyin.

http://mustafabukulmez.com/

Mustafa BÜKÜLMEZ
http://mustafabukulmez.com -- Web sitesi, ERP, MRP, CRM ve kişiye özel uygulamalar hazırlanır. -- Deneyip çalıştığını onaylamadan çok nadir ders eklerim. Denemediklerim ise eski makalelerimdendir. Hem bildiklerimi paylaşmak hemde her seferinde aramamak için yayınlıyorum. -- *Bilgi paylaştıkça çoğalır. *Bir mum diğer mumu yakmakla ışığından bir şey kaybetmez. Aksine Daha çok ışık yayar. -- 1992 İstanbul doğumluyum. Kahramanmaraş'ta yaşıyorum. Lise: Ağ sistemleri ve Yönetimi, Üniversite: Bilgisayar Programcılığı.. -- 07.2014 tarihinden beri bir firmada Bilgi İşlem Müdürü olarak çalışmaktayım. -- Kişisel Bloğum : https://csharpiledundenbugune.blogspot.com.tr/
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git