LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 獲取PC配置信息方法

admin
2025年8月4日 12:52 本文熱度 553

在日常工作中,我們通過獲取PC配置信息來檢查硬件的兼容性、性能優(yōu)化、故障診斷、安全運(yùn)維、優(yōu)化用戶體驗(yàn)等,通過合理利用硬件信息,開發(fā)者可以顯著提升軟件穩(wěn)定性、安全性和用戶體驗(yàn)。

以下是一些常用獲取PC配置信息的方法:

  • 獲取操作系統(tǒng)名稱

  • 獲取操作系統(tǒng)類型

  • 判斷系統(tǒng)是32位或是64位

  • 獲取計(jì)算機(jī)名稱

  • 獲取硬盤序號

  • 獲取CPC ID

  • 獲取物理內(nèi)存信息

  • 獲取IPv4地址

  • 測試IP是否暢通


1、獲取操作系統(tǒng)名稱

/// <summary>  /// 獲取操作系統(tǒng)名稱  /// </summary>  /// <returns>操作系統(tǒng)名稱</returns>  public string GetSystemName(){    try    {        string strSystemName = string.Empty;        ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2""SELECT PartComponent FROM Win32_SystemOperatingSystem");        foreach (ManagementObject mo in mos.Get())        {            strSystemName = mo["PartComponent"].ToString();        }        mos = new ManagementObjectSearcher("root\\CIMV2""SELECT Caption FROM Win32_OperatingSystem");        foreach (ManagementObject mo in mos.Get())        {            strSystemName = mo["Caption"].ToString();        }        return strSystemName;    }    catch    {        return "unknown";    }}

2、獲取操作系統(tǒng)類型

/// <summary>  /// 獲取操作系統(tǒng)類型  /// </summary>  /// <returns>操作系統(tǒng)類型</returns>  public string GetSystemType(){    try    {        string strSystemType = string.Empty;        ManagementClass mc = new ManagementClass("Win32_ComputerSystem");        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {            strSystemType = mo["SystemType"].ToString();        }        moc = null;        mc = null;        return strSystemType;    }    catch    {        return "unknown";    }}

3、判斷系統(tǒng)是32位或是64位

/// <summary>/// 判斷系統(tǒng)是32位或是64位/// </summary>/// <returns></returns>public string CheckPCSystem(){    string RetStr = "";    if (IntPtr.Size == 4)    {        RetStr = "32";    }    else if (IntPtr.Size == 8)    {        RetStr = "64";    }    return RetStr;}

4、獲取計(jì)算機(jī)名稱

/// </summary>  /// <summary>  /// 獲取計(jì)算機(jī)名稱/// </summary>  /// <returns>當(dāng)前PC計(jì)算機(jī)名稱</returns>  public string GetComputerName(){    try    {        string strPCName = string.Empty;        ManagementClass mc = new ManagementClass("Win32_ComputerSystem");        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {            strPCName = mo["Name"].ToString();            //strPCName = mo["UserName"].ToString();        }        moc = null;        mc = null;        return strPCName;    }    catch    {        return "unknown";    }}

5、獲取硬盤序號

/// <summary>  /// 獲取硬盤序號  /// </summary>  /// <returns>硬盤序號</returns>  public string GetDiskID(){    try    {        string strDiskID = string.Empty;        ManagementClass mc = new ManagementClass("Win32_DiskDrive");        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {            strDiskID = mo.Properties["Model"].Value.ToString();        }        moc = null;        mc = null;        return strDiskID;    }    catch    {        return "unknown";    }}

6、獲取CpuID

/// <summary>  /// 獲取CpuID  /// </summary>  /// <returns>CpuID</returns>  public string GetCpuID(){    try    {        string strCpuID = string.Empty;        ManagementClass mc = new ManagementClass("Win32_Processor");        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {            strCpuID = mo.Properties["ProcessorId"].Value.ToString();        }        moc = null;        mc = null;        return strCpuID;    }    catch    {        return "unknown";    }}

7、獲取物理內(nèi)存信息

/// <summary>  /// 獲取物理內(nèi)存信息  /// </summary>  /// <returns>物理內(nèi)存信息</returns>  public string GetTotalPhysicalMemory(){    try    {        string strTotalPhysicalMemory = string.Empty;        ManagementClass mc = new ManagementClass("Win32_ComputerSystem");        ManagementObjectCollection moc = mc.GetInstances();        foreach (ManagementObject mo in moc)        {            strTotalPhysicalMemory = mo["TotalPhysicalMemory"].ToString();        }        moc = null;        mc = null;        return strTotalPhysicalMemory;    }    catch    {        return "unknown";    }}

8、獲取IPv4地址

/// <summary>/// 獲取客戶端內(nèi)網(wǎng)IPv4地址/// </summary>/// <returns></returns>public string GetClientLocalIPv4Address(){    try    {        string HostName = Dns.GetHostName(); //得到主機(jī)名        IPHostEntry IpEntry = Dns.GetHostEntry(HostName);        for (int i = 0; i < IpEntry.AddressList.Length; i++)        {            //從IP地址列表中篩選出IPv4類型的IP地址            //AddressFamily.InterNetwork表示此IP為IPv4,            //AddressFamily.InterNetworkV6表示此地址為IPv6類型            if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)            {                string ipv4 = IpEntry.AddressList[i].ToString();                Regex r = new Regex("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}");                Match mth = r.Match(ipv4);                if (mth.Success && ipv4 != "127.0.0.1")                {                    return IpEntry.AddressList[i].ToString();                }            }        }        return "";    }    catch (Exception)    {        return "";    }}

9、測試IP是否暢通

/// <summary>/// 測試IP是否暢通/// </summary>/// <param name="ServerIp"></param>/// <returns></returns>public bool PingSeverIPState(string ServerIp){    try    {        System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();        System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions();        options.DontFragment = true;        string data = "Test Data!";        byte[] buffer = Encoding.ASCII.GetBytes(data);        int timeout = 2000// Timeout 時(shí)間,單位:毫秒          System.Net.NetworkInformation.PingReply reply = p.Send(ServerIp, timeout, buffer, options);        if (reply == null || reply.Status == System.Net.NetworkInformation.IPStatus.Success)            return true;
        return false;    }    catch (System.Net.NetworkInformation.PingException)    {        //  throw new Exception("找不到服務(wù)器");        return false;    }}


閱讀原文:原文鏈接


該文章在 2025/8/4 18:01:08 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
在线欧美日韩国产 | 亚洲AV岛国动作片在线观看 | 日本免费一级高清婬日本片 | 精品日韩国产欧美在线观看 | 亚洲久操中文字幕 | 视频一区中文字幕 |