C#編程擷取用戶端電腦硬體及系統資訊功能代碼案例分析

來源:互聯網
上載者:User
這篇文章主要介紹了C#編程擷取用戶端電腦硬體及系統資訊功能,可實現針對用戶端系統CPU、硬碟、主板等硬體資訊及用戶端作業系統、IP、MAC等資訊的操作技巧,需要的朋友可以參考下

本文執行個體講述了C#編程擷取用戶端電腦硬體及系統資訊功能。分享給大家供大家參考,具體如下:

這裡使用C#擷取用戶端電腦硬體及系統資訊 ,包括CPU、硬碟、IP、MAC地址、作業系統等。

1、項目引用System.Management庫。

2、建立HardwareHandler.cs類檔案

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Management;namespace MyStudy.Utility{  /// <summary>  /// 電腦硬體處理類  /// </summary>  public class HardwareHandler  {    public enum WMIPath    {      // 硬體      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, // 已安裝的網路通訊協定    }    /// <summary>    /// Cpu資訊    /// </summary>    /// <returns></returns>    public void CpuInfo()    {      try      {        ManagementClass mc = new ManagementClass(WMIPath.Win32_Processor.ToString());        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {          Console.WriteLine("CPU編號:" + mo.Properties["ProcessorId"].Value);          Console.WriteLine("CPU型號:" + mo.Properties["Name"].Value);          Console.WriteLine("CPU狀態:" + mo.Properties["Status"].Value);          Console.WriteLine("主機名稱:" + mo.Properties["SystemName"].Value);        }      }      catch      {        Console.WriteLine("Erroe");      }    }    /// <summary>    /// 主板資訊    /// </summary>    public void MainBoardInfo()    {      try      {        ManagementClass mc = new ManagementClass(WMIPath.Win32_BaseBoard.ToString());        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {          Console.WriteLine("主板ID:" + mo.Properties["SerialNumber"].Value);          Console.WriteLine("製造商:" + mo.Properties["Manufacturer"].Value);          Console.WriteLine("型號:" + mo.Properties["Product"].Value);          Console.WriteLine("版本:" + mo.Properties["Version"].Value);        }      }      catch      {        Console.WriteLine("Erroe");      }    }    /// <summary>    /// 硬碟資訊    /// </summary>    public void DiskDriveInfo()    {      try      {        ManagementClass mc = new ManagementClass(WMIPath.Win32_DiskDrive.ToString());        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {          Console.WriteLine("硬碟SN:" + mo.Properties["SerialNumber"].Value);          Console.WriteLine("型號:" + mo.Properties["Model"].Value);          Console.WriteLine("大小:" + Convert.ToDouble(mo.Properties["Size"].Value) / (1024 * 1024 * 1024));        }      }      catch      {        Console.WriteLine("Erroe");      }    }    /// <summary>    /// 網路連接資訊    /// </summary>    public void NetworkInfo()    {      try      {        ManagementClass mc = new ManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {          Console.WriteLine("MAC地址:" + mo.Properties["MACAddress"].Value);          Console.WriteLine("IP地址:" + mo.Properties["IPAddress"].Value);        }      }      catch      {        Console.WriteLine("Erroe");      }    }    /// <summary>    /// 作業系統資訊    /// </summary>    public void OsInfo()    {      try      {        ManagementClass mc = new ManagementClass(WMIPath.Win32_OperatingSystem.ToString());        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {          Console.WriteLine("作業系統:" + mo.Properties["Name"].Value);          Console.WriteLine("版本:" + mo.Properties["Version"].Value);          Console.WriteLine("系統目錄:" + mo.Properties["SystemDirectory"].Value);        }      }      catch      {        Console.WriteLine("Erroe");      }    }  }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.