1. 程式人生 > >C#獲取硬碟、CPU、主機板、網絡卡的序列號

C#獲取硬碟、CPU、主機板、網絡卡的序列號

轉自:http://blog.sina.com.cn/s/blog_557d25460101hq9t.html

在很多情況下,你可能都需要得到微機的硬體資訊。比如:你想給你的軟體加鎖,不讓別人隨便訪問。

首先,你必須知道這個應用程式的功能是使用System.Management這個類得到的。因此,你需要加上下面的這句話:

using System.Management;

為了獲取硬體資訊,你還需要建立一個ManagementObjectSearcher 物件:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from "

 + Key);

// 硬體 

Win32_Processor, // CPU 處理器 

Win32_PhysicalMemory, // 實體記憶體條 

Win32_Keyboard, // 鍵盤 

Win32_PointingDevice, // 點輸入裝置,包括滑鼠。 

Win32_FloppyDrive, // 軟盤驅動器 

Win32_DiskDrive, // 硬碟驅動器 

Win32_CDROMDrive, // 光碟驅動器 

Win32_BaseBoard, // 主機板 

Win32_BIOS, // BIOS 晶片 

Win32_ParallelPort, // 並口 

Win32_SerialPort, // 串列埠 

Win32_SerialPortConfiguration, // 串列埠配置 

Win32_SoundDevice, // 多媒體設定,一般指音效卡。 

Win32_SystemSlot, // 主機板插槽 (ISA & PCI & AGP) 

Win32_USBController, // USB 控制器 

Win32_NetworkAdapter, // 網路介面卡 

Win32_NetworkAdapterConfiguration, // 網路介面卡設定 

Win32_Printer, // 印表機 

Win32_PrinterConfiguration, // 印表機設定 

Win32_PrintJob, // 印表機任務 

Win32_TCPIPPrinterPort, // 印表機埠 

Win32_POTSModem, // MODEM 

Win32_POTSModemToSerialPort, // MODEM 埠 

Win32_DesktopMonitor, // 顯示器 

Win32_DisplayConfiguration, // 顯示卡 

Win32_DisplayControllerConfiguration, // 顯示卡設定 

Win32_VideoController, // 顯示卡細節。 

Win32_VideoSettings, // 顯示卡支援的顯示模式。 



// 作業系統 

Win32_TimeZone, // 時區 

Win32_SystemDriver, // 驅動程式 

Win32_DiskPartition, // 磁碟分割槽 

Win32_LogicalDisk, // 邏輯磁碟 

Win32_LogicalDiskToPartition, // 邏輯磁碟所在分割槽及始末位置。 

Win32_LogicalMemoryConfiguration, // 邏輯記憶體配置 

Win32_PageFile, // 系統頁檔案資訊 

Win32_PageFileSetting, // 頁檔案設定 

Win32_BootConfiguration, // 系統啟動配置 

Win32_ComputerSystem, // 計算機資訊簡要 

Win32_OperatingSystem, // 作業系統資訊 

Win32_StartupCommand, // 系統自動啟動程式 

Win32_Service, // 系統安裝的服務 

Win32_Group, // 系統管理組 

Win32_GroupUser, // 系統組帳號 

Win32_UserAccount, // 使用者帳號 

Win32_Process, // 系統程序 

Win32_Thread, // 系統執行緒 

Win32_Share, // 共享 

Win32_NetworkClient, // 已安裝的網路客戶端 

Win32_NetworkProtocol, // 已安裝的網路協議 
上面程式碼的Key是一個將被對應正確的資料填入的值。例如,獲取CPU的資訊,就需要把Key值設成Win32_Processor.

首先,呼叫ManagementObjectSearcher例項(在本文中的例子裡為searcher )中的Get()方法,該方法將會把返回資訊填在這個例項中。然後,你所要做的就是處理這個例項searcher中的資料。
foreach (ManagementObject share in searcher.Get()){// Some Codes ...}
每個ManagementObject的物件中都有一些,我們所需要的資料,當然我們可以接著這麼處理這些資料:
foreach (PropertyData PC in share.Properties){//some codes ...}
程式碼示例:
/// 
        /// 獲得CPU編號
        /// 
        /// 
        public string GetCPUID()
        {
            string cpuid = "";
            ManagementClass mc = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                cpuid = mo.Properties["ProcessorId"].Value.ToString();
            }
            return cpuid;
        }
        /// 
        /// 獲取硬碟序列號
        /// 
        /// 
        public string GetDiskSerialNumber()
        {
            //這種模式在插入一個U盤後可能會有不同的結果,如插入我的手機時
            String HDid = "";
            ManagementClass mc = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moc = mc.GetInstances();
            foreach (ManagementObject mo in moc)
            {
          

相關推薦

Intel I218 VIntel I219 V等不能安裝window server伺服器系統驅動解決方法

Intel(R) Ethernet Connection I218 V Intel(R) Ethernet Connection I219 V 該網絡卡在安裝windows Server系列系統(如windows server2012 、windows server2016

C#獲取硬碟CPU主機板序列

轉自:http://blog.sina.com.cn/s/blog_557d25460101hq9t.html 在很多情況下,你可能都需要得到微機的硬體資訊。比如:你想給你的軟體加鎖,不讓別人隨便訪問。 首先,你必須知道這個應用程式的功能是使用System.Mana

C#獲取CPU序列程式碼硬碟ID硬體地址等類檔案

using System; using System.Management; namespace CLeopardTestGetIDs { /// <summary> /// 計算機資訊類 /// </summ

java獲取JVM的CPU佔用率記憶體佔用率執行緒數及伺服器的網口吞吐率磁碟讀寫速率

怎麼說呢,本人菜鳥一枚,費了幾天時間,終於做了一個用java獲取JVM的CPU佔用率、記憶體佔用率、執行緒數及伺服器的網口吞吐率、磁碟讀寫速率的實現。 其中windows環境下獲取jvm 的cpu佔用率這裡是參考網上別人的東西(在此感謝提供參考的網友),其他的都是基於自己的想法做出來的。該工具類

Zabbix4.0.1使用自帶模板監控Linux主機基本選項(CPU記憶體硬碟

zabbix_agent 端            ip : 192.168.1.206      hostname:  www.test3.com   1、新增主機  

獲取Android手機CPU型別 ARMARMV7NEON

1 檢視手機CPU資訊 cmd——adb shell——cd /proc------cat cpuinfo 2 獲取cpu的是arm指令集,armv7指令集、還是neon指令集 /** * * [獲取cpu型別和架構] * * @return

C++多執行緒程式設計學習(1)】-CPU個數CPU核心數CPU執行緒數

轉自:CPU個數、CPU核心數、CPU執行緒數(by kimsimple)   CPU個數即CPU晶片個數。 CPU核心數是指物理上,也就是硬體上存在著幾個核心。比如,雙核就是包括2個相對獨立的CPU核心單元組,四核就包含4個相對獨立的CPU核心單元組。 CPU執行緒數是一

C#獲取ftp上的資料夾檔案目錄

C#連線ftp是比較麻煩的,特別是讀資料的時候 這裡是一行一行讀的。 資料夾和檔案差異就一行,直接貼 /// <summary> /// 獲取當前目錄下資料夾 /// </summary> ///

C# 獲取本機資訊個數描述資訊型別速度等

程式碼比較簡單,直接上圖上碼。實現程式碼有註釋,以下是該例子的完整程式碼。引入名稱空間:using System.Net.NetworkInformation; using System.Net;完整程式碼:namespace NetworkInterfaceExample

adb命令檢測apk啟動時間內存CPU使用情況流量電池電量等——常用的adb命令

serial 信息 proc idg 情況 電量 pid art str ADB:Android Debug Bridge,是Android SDK裏一個可以直接操作安卓模擬器或真實設備的工具,頗為強大。 檢測APP: adb shell am start

C# 獲取CPU序列 硬碟序列 ID

     獲取CPU  硬碟  網絡卡ID。      /// <summary>         /// 獲取cpu序列號         ///  string getInfo = cm.GetCPUSerialNumber()         ///  i

物理cpucpu核數邏輯cpu數筆記

一、物理CPU數 機器的主機板上實際插入插槽的CPU個數。 二、CPU核數 單塊CPU上面整合一個或者多個處理器晶片(稱為Core,核心)。 CPU最初發展的時候是一個CPU一個處理核心,CPU的效能主要靠提高核心工作頻率來提高,但是僅僅提高單核晶片的速度會產生過多熱量且無

C/C++獲取Windows系統CPU和記憶體及硬碟使用情況

//1.獲取Windows系統記憶體使用率 //windows 記憶體 使用率 DWORD getWin_MemUsage(){ MEMORYSTATUS ms; ::GlobalMemoryStatus(&ms); return ms.dwMemoryLo

CPU邏輯數量CPU物理核心幾核幾線程簡述

1. CPU 物理核心 CPU物理核心就是計算機上實際配置的CPU個數。 在 Linux 上可以開啟 cat /proc/cpuinfo 來檢視,其中的 physical id 就是每個物理CPU的ID,你能找到幾個 physical id 就代表你的計算機實際有幾個CPU。 在 Lin

python功能模組之psutil------ Linux效能(CPU磁碟記憶體)監控

採集系統的基本效能資訊包括CPU、記憶體、磁碟、網路等,可以完整描述當前系統的執行狀態及質量。psutil模組已經封裝了這些方法,使用者可以根據自身的應用場景,呼叫相應的方法來滿足需求,非常簡單實用。 (1)CPU資訊 Linux作業系統的CPU利用率有以下幾個部分:

Linux系統檢視伺服器型號CPURAMROM以及資訊

首先是CPU方面的: 檢視CPU型號 # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R

linux 設定網路API --- 開/關設定/獲取Mac地址

最近在做專案過程中,由於在多執行緒中使用system函式,有時候出現莫名程式異常終止,最後決定替換所有的system函式,但是對於設定mac地址這個函式試了很多次都沒有成功;今天在此總結下原因: 1. 編寫的關閉/開啟網絡卡函式沒有延時;(一般情況設定開關網絡卡可能需要初始

Shell獲取Mac地址(grep正則表示式)

#!/bin/bash #brief attain the Mac addr of netcard eth0. #author lee #time 18.08.10 macaddr=`sudo

參考ethtool寫了個Linux設定獲取模式的介面

差不多一個月沒寫文章了,這期間,主要是搞一些比較複雜的問題,一直被搞,沒有搞其它的東西,也就沒寫出什麼東西來。 在找問題過程中,上網瞭解到ethtool這個工具十分強大,以為這個程式碼很複雜,而恰好領導要求我提供設定網絡卡資訊的介面,於是下了程式碼,研究了一下,參考了一下,

檢視系統硬體資訊(CPU記憶體磁碟

導讀 Windows檢視系統硬體資訊 CentOS檢視系統硬體資訊 Windows檢視系統硬體資訊 檢視Windows系統硬體資訊最方便的方法是使用“魯大師”等類似軟體。效果見下圖: 可以看到,我的電腦配置為: CPU:雙核 記憶體:4G