C# Bilgisayar Bilgileri Almak

C# Bilgisayar Bilgileri Almak

26 Nisan 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 169
Yaklaşık okuma süresi : 11 DK
C# Dosya / Klasör İşlemleri
C# ile Bilgisayar Kapatmak
C# Bilgisayar Bilgileri Almak
İlk Beğenen Sel Ol

C# Bilgisayar Bilgileri Almak, yazımız ile c sharp eğitimlerimize devam ediyoruz. Bu dersimizde bir çok açıdan işimize yarayacak bir takım işlemler göreceğiz. Bu göreceğimiz işlemler, bilgisayar adını almak, ip adresi almak, mac adresi almak gibi işlemlerdir. Projelerinize ip yada mac üzerine bir yetkilenlendirme yapmak gibi şeyler isteyebilirsiniz. Bu sebeple C sharp Bilgisayar Bilgileri Almak hakkındaki yazımıza geçelim.

C Sharp Bilgisayar Bilgileri Almak

Bu konu başlığı altında bilgisayarımızdan alacağımız bilgiler aşağıdaki gibidir;

  1. Mac adresini almak
  2. IP adresini almak
  3. EXE Build tarihini almak
  4. İşlemci özelliklerini almak
  5. HDD bilgilerini almak
  6. RAM bilgilerini almak
  7. Ekran kartı bilgilerini almak
  8. İşletim sistemi özelliklerini almak

C# HDD bilgilerini almak

Öncelikle projemize aşağıdaki tüm namespace’leri ekliyoruz.

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;

Hepsini birden veriyorum, çünkü elimde tüm kodları içeren bir class var ve hangi namespace hangi işlem için olduğunu tam hatırlamıyorum. O sebeple hepsini birden yazdım.

 

1 – C# Mac adresini almak

private string 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);
                    // mac adresini alırken parça parça aldığından 
                    //aralarına : işaretini biz atıyoruz.
                    i++;
                }
                mac = mac.Remove(0, 1);
                // en sonda kalan fazladan : işaretini siliyoruz.
                return mac;
            }
            catch
            {

            }
        }

 

2 – C#  IP adresini almak

 //Ip Adresini Almak İçin
        private string IP()
        {
            string host = Dns.GetHostName();
            IPHostEntry ip = Dns.GetHostByName(host);
            return ip.AddressList[0].ToString();     
            //birden fazla ip olabilceğinden burada ilk bulunanı alıyoruz.
        }

 

3 – C# EXE Build tarihini almak

//Exe'nin build Tarihini Almak İçin
        private string  BUILD_DATE()
        {
            DateTime buildDate = new FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
            return  buildDate.ToString();
        }

 

4 – C# İşlemci özelliklerini almak

//İşlemci Özellikleri için
        private string CPU()
        {
            lblcpusayisi.Text = System.Environment.ProcessorCount.ToString();
            RegistryKey Rkey1 = Registry.LocalMachine;
            Rkey1 = Rkey1.OpenSubKey("HARDWAREDESCRIPTIONSystemCentralProcessor");
            return (string)Rkey1.GetValue("ProcessorNameString").ToString();
        }

 

5 – C# HDD bilgilerini almak

 //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 string 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();
                return hd.SerialNo;
            }
        }

 

6 – C# RAM bilgilerini almak

//RAM bilgisi için
        private string 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);
                retun islem.ToString() + " GB";
            }
        }

 

 7 – C# Ekran kartı bilgilerini almak

//Ekran Kartı Özellikleri İçin
        private string 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);
                return Mobject["name"].ToString() + " " + Mobject["AdapterRam"].ToString();
            }
        }

 

8 – İşletim sistemi özelliklerini almak

private string  OS()//İşletim Sistemi Özellikleri İçin
        {
            return System.Environment.OSVersion.ToString();
        }

 

NOT: Tüm bilgileri tek seferde almaya çalıştığınızda proje aşırı yavaşlamaktadır. Örn login formunda göstermek isterseniz formun açılması çok uzun sürecektir. Bu sebeple sadece gerektiği yerlerde kullanın.

Biraz araştırma ile burada aldığımız bilgilerden daha fazlasını nasıl alacağınızı bulabilirsiniz. Ancak bu kodlar da isteklerinize cevap verecektir. Daha derinlemesine bir işlem için microsoftun sitesinden gerekli bilgileri bulabilirsiniz.


C sharp Bilgisayar Bilgileri Almak , dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti ve ERP Programlama ders listesi için tıklayınız. 

Takipte ve Sağlıcakla kalın. 😉

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

C# Dosya / Klasör İşlemleri
C# ile Bilgisayar Kapatmak