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;
- Mac adresini almak
- IP adresini almak
- EXE Build tarihini almak
- İşlemci özelliklerini almak
- HDD bilgilerini almak
- RAM bilgilerini almak
- Ekran kartı bilgilerini almak
- İşletim sistemi özelliklerini 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. ?
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.