İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# Bilgisayar Bilgileri Almak

C# Bilgisayar Bilgileri Almak
+ - 2

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. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Cevabı İptal Et

Yorumlar (2)

  1. merhaba bilgisayarda çalışan programları c# projem ile nasıl kapata bilirim proje üzerinde butona tıkladığında chrome tarayıcısını kapatmak istiyorum

    • Bu başka bir dersin konusu. Bu yazıda bilgisayar parçalarının ve sistemin bilgilerini alma kodları yer almaktadır.
      Bu konuyu da listeme aldım yakın zamanda bu konu da bir ders hazırlamaya çalışırım.

Youtube için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak.