İçeriğe geç

C# İle CPU (İşlemci) Bilgilerini Almak

Bir çoğumuz belli lisans, takip, vb… işlemler için bilgisayarın işlemci bilgilerini almak isteyebiliriz. Bu gibi durumlarda c# da bize ManagementObjectSearcher sınıfı ile ciddi bir kolaylık sağlıyor. Gelin bilgisayarın işlemci bilgileri nasıl alınır birlikte bir göz atalım.

Öncelikle projemize, sistemimizde yer alan veya yok ise NuGet Packages ile yükleyebileceğimiz “System.Management” sınıfını eklememiz gerekiyor. Ekledikten sonra aşağıdaki şekilde projemizin using kısmına ekleyebiliriz.

using System.Management

Şimdi sıra geldi kodumuza. Aşağıdaki kod ile İşlemciID’sini “processorID” değişkenine atıyorum.

string cpuId = string.Empty;

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM win32_processor");

foreach (ManagementObject wmi_CPU in searcher.Get())
{
    cpuId = wmi_CPU["processorID"].ToString();
}

Bir de dilerseniz bu donanıma ait sistemde bulunan tüm verileri yazdıracak kısa bir kod yazalım. Burada da tüm değerleri bir sınıfın içerisine “Enviroment.NewLine” (alt satıra geç) diyerek yazdıracağım ve sonucu da sizlerle bir alttaki listede de paylaşıyor olacağım.

string cpuId = string.Empty;

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM win32_processor");

string props = string.Empty;

foreach (ManagementObject wmi_CPU in searcher.Get())
{
    foreach (PropertyData prop in wmi_CPU.Properties)
    {
        props += string.Format("{0}: {1}{2}", prop.Name, prop.Value, Environment.NewLine);
    }
}

Projemizin bendeki çıktısı da aşağıdaki gibi;

AddressWidth: 64
Architecture: 9
AssetTag: Fill By OEM
Availability: 3
Caption: Intel64 Family 6 Model 60 Stepping 3
Characteristics: 4
ConfigManagerErrorCode: 
ConfigManagerUserConfig: 
CpuStatus: 1
CreationClassName: Win32_Processor
CurrentClockSpeed: 3201
CurrentVoltage: 12
DataWidth: 64
Description: Intel64 Family 6 Model 60 Stepping 3
DeviceID: CPU0
ErrorCleared: 
ErrorDescription: 
ExtClock: 100
Family: 179
InstallDate: 
L2CacheSize: 1024
L2CacheSpeed: 
L3CacheSize: 8192
L3CacheSpeed: 0
LastErrorCode: 
Level: 6
LoadPercentage: 66
Manufacturer: GenuineIntel
MaxClockSpeed: 3201
Name: Intel(R) Xeon(R) CPU E3-1225 v3 @ 3.20GHz
NumberOfCores: 4
NumberOfEnabledCore: 4
NumberOfLogicalProcessors: 4
OtherFamilyDescription: 
PartNumber: Fill By OEM
PNPDeviceID: 
PowerManagementCapabilities: 
PowerManagementSupported: False
ProcessorId: BFEBFBFF000306C3
ProcessorType: 3
Revision: 15363
Role: CPU
SecondLevelAddressTranslationExtensions: True
SerialNumber: 
SocketDesignation: SOCKET 0
Status: OK
StatusInfo: 3
Stepping: 
SystemCreationClassName: Win32_ComputerSystem
SystemName: EDOMURCUK2
ThreadCount: 4
UniqueId: 
UpgradeMethod: 1
Version: 
VirtualizationFirmwareEnabled: True
VMMonitorModeExtensions: True
VoltageCaps: 

Yukarıda da gördüğünüz üzere tüm işlemci bilgilerine rahat bir şekilde ulaşabilmekteyiz.

C# ManagementObject Sınıfı İçerisindeki Tüm Özelliklerin Tam Listesi

AddressWidth
Architecture
AssetTag
Availability
Caption
Characteristics
ConfigManagerErrorCode
ConfigManagerUserConfig
CpuStatus
CreationClassName
CurrentClockSpeed
CurrentVoltage
DataWidth
Description
DeviceID
ErrorCleared
ErrorDescription
ExtClock
Family
InstallDate
L2CacheSize
L2CacheSpeed
L3CacheSize
L3CacheSpeed
LastErrorCode
Level
LoadPercentage
Manufacturer
MaxClockSpeed
Name
NumberOfCores
NumberOfEnabledCore
NumberOfLogicalProcessors
OtherFamilyDescription
PartNumber
PNPDeviceID
PowerManagementCapabilities
PowerManagementSupported
ProcessorId
ProcessorType
Revision
Role
SecondLevelAddressTranslationExtensions
SerialNumber
SocketDesignation
Status
StatusInfo
Stepping
SystemCreationClassName
SystemName
ThreadCount
UniqueId
UpgradeMethod
Version
VirtualizationFirmwareEnabled
VMMonitorModeExtensions
VoltageCaps

1 2 votes
Article Rating
Tarih:Çerez Bilgiler
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x