C# ile İşlemci ve HDD Seri No’sunu Çekme

Merhaba arkadaşlar, geçen gün yaptığım bir otomasyon programımda İşlemcinin seri numarasını çekmem gerekti. Dönen seri numarasına göre key üretip yaptığım otomasyon programının bir adet bilgisayarda kullanmasını amaçladım ve işe yaradı. Bildiğiniz gibi İşlemci veya Seri Numarası özel bir numaradır. Başka bilgisayarlardaki seri numaralarıyla aynı olması mümkün değildir. Bu yüzden genelde İşlemci yada HDD seri numarası alınır.

Projemize aşağıdaki 3 referansı ekliyoruz. Ardından Solution Explorer kısmından References’e gelip sağ tıklayıp “Add References” diyoruz. Gelen ekrandan “System.Management” kısmını seçip “OK” diyoruz.

using System.Management;
using System.Threading.Tasks;
using Microsoft.Win32;

İşlemci seri numarasını çekmek için ;

 private void button1_Click(object sender, EventArgs e) //CPU Seri No
        {
            textBox1.Text = CPUSeriNoCek().ToString();
        }

        public static String CPUSeriNoCek()
        {
            String processorID = "";
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * FROM WIN32_Processor");
            ManagementObjectCollection mObject = searcher.Get();

            foreach (ManagementObject obj in mObject)
            {
                processorID = obj["ProcessorId"].ToString();
            }

            return processorID;  
        }

HDD seri numarasını çekmek için ;

string HDDserialNo = string.Empty;
        private void button2_Click(object sender, EventArgs e) //HDD Seri No
        {
            List<string> serialsList = HDDSeriNoCek();
            foreach (string s in serialsList)
            {
                HDDserialNo = HDDserialNo + s;
            }
            HDDserialNo = HDDserialNo.TrimStart(); //Baştaki Boşluğu Kaldırıyoruz.
            textBox2.Text = HDDserialNo;
        }

        public static List<string> HDDSeriNoCek()
        {
            List<string> serials = new List<string>();
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
            ManagementObjectCollection disks = searcher.Get();
            foreach (ManagementObject disk in disks)
            {
                if (disk["SerialNumber"] == null)
                    serials.Add("");
                else
                    serials.Add(disk["SerialNumber"].ToString());
            }
            return serials;
        }

Yukarıda ki aynı yapı ile

Select * FROM WIN32_ComputerSystem
Select * FROM WIN32_OperatingSystem
Select * FROM WIN32_Environment
Select * FROM WIN32_SystemDriver
Select * FROM WIN32_Service
Select * FROM WIN32_Process
Select * FROM WIN32_StartupCommand
Select * FROM WIN32_Registry
Select * FROM WIN32_NTEventLogFile
Select * FROM WIN32_TimeBone
Select * FROM WIN32_QuickFixEngineering
Select * FROM WIN32_BootConfiguration
Select * FROM WIN32_WMISetting
Select * FROM WIN32_DiskDrive
Select * FROM WIN32_LogicalDisk
Select * FROM WIN32_DiskPartition
Select * FROM WIN32_Share
Select * FROM WIN32_IDEController
Select * FROM WIN32_CDROMDrive
Select * FROM WIN32_SystemSlot
Select * FROM WIN32_PhysicalMemory
Select * FROM WIN32_PhysicalMemoryArray
Select * FROM WIN32_BIOS
Select * FROM WIN32_DesktopMonitor
Select * FROM WIN32_NetworkAdaptor
Select * FROM WIN32_Configuration
Select * FROM WIN32_Printer
Select * FROM WIN32_UserAccount
Select * FROM WIN32_SystemAccount
Select * FROM WIN32_NTDomain
Select * FROM WIN32_Group
Select * FROM WIN32_ComputerSystemProduct

birçok yapıya erişim sağlayabilirsiniz. 🙂

C#
CPU ve HDD Seri No'sunu Çekme
İndirilme : 864 | Dosya Tipi : rar

“C# ile İşlemci ve HDD Seri No’sunu Çekme” üzerine 12 yorum

  1. merhaba burdaki sorguların getirdiği tabloların alan isimlerini bulabileceğimiz bir yer varmı acaba.

  2. Üstad yazdığım projeyi lisanslamak için kullanmam gerekiyordu ve fazlasıyla işime yaradı. Eline sağlık

  3. Hocam 2 3 tane harddisk olan pc den calıstırınca bu kodu bolme sansımız warmı yada ayrı ayrı textboxlara atma şansımız varmı ?

  4. Hocam if (disk[“SerialNumber”] == null)
    serials.Add(“”);
    kod blogunun işlevi nedir tam olarak anlamadım. Açıklarsanız sevinirim. (Bu alana durma noktası koyup adım adım izledim anladığım kadarı ile CDROM u kontrol ediyor.)

  5. Çok teşekkür ederim dostum, uzun zamandır arayıpta bulamadığım şeydi bu 🙂 Aslında select * from ile verdiğin listeninde kısaca ne işe yaradığını yazsaydın daha iyi olurdu ama eline sağlık çok güzel bir paylaşım olmuş.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.