C#如何獲取計(jì)算機(jī)信息
更新時(shí)間:2020年07月05日 09:16:28 作者:gmadc
這篇文章主要為大家詳細(xì)介紹了C#獲取計(jì)算機(jī)信息的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C#獲取計(jì)算機(jī)信息的具體代碼,供大家參考,具體內(nèi)容如下
using System; using System.Configuration; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Management; namespace test { /// <summary> /// Computer informercial /// </summary> class Computer { public string CpuID; public string MacAddress; public string DiskID; public string IpAddress; public string LoginUserName; public string ComputerName; public string SystemType; public string TotalPhysicalMemory; //單位:M private static Computer _instance; public static Computer Instance() { if (_instance == null) _instance = new Computer(); return _instance; } public Computer() { CpuID = GetCpuID(); MacAddress = GetMacAddress(); DiskID = GetDiskID(); IpAddress = GetIPAddress(); LoginUserName = GetUserName(); SystemType = GetSystemType(); TotalPhysicalMemory = GetTotalPhysicalMemory(); ComputerName = GetComputerName(); } /// <summary> /// 獲取CPU ID /// </summary> /// <returns></returns> private string GetCpuID() { try { //獲取CPU序列號(hào)代碼 string cpuInfo = "";//cpu序列號(hào) ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } moc = null; mc = null; return cpuInfo; } catch { return "unknow"; } finally { } } /// <summary> /// 獲取Mac 地址 /// </summary> /// <returns></returns> private string GetMacAddress() { try { //獲取網(wǎng)卡硬件地址 string mac = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach(ManagementObject mo in moc) { if((bool)mo["IPEnabled"]==true) { mac = mo["MacAddress"].ToString(); break; } } moc = null; mc = null; return mac; } catch { return "unknow"; } finally { } } /// <summary> /// 獲取 ip地址 /// </summary> /// <returns></returns> private string GetIPAddress() { try { //獲取IP地址 string st = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if ((bool)mo["IPEnabled"] == true) { //st=mo["IpAddress"].ToString(); System.Array ar; ar = (System.Array)(mo.Properties["IpAddress"].Value); st = ar.GetValue(0).ToString(); break; } } moc = null; mc = null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// 獲取硬盤ID /// </summary> /// <returns></returns> private string GetDiskID() { try { //獲取硬盤ID String HDid = ""; ManagementClass mc = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { HDid = (string)mo.Properties["Model"].Value; } moc = null; mc = null; return HDid; } catch { return "unknow"; } finally { } } /// <summary> /// 用戶名 /// </summary> /// <returns></returns> private string GetComputerName() { try { return System.Environment.GetEnvironmentVariable("ComputerName"); } catch { return "unknow"; } finally { } } /// <summary> /// 物理內(nèi)存 /// </summary> /// <returns></returns> private string GetTotalPhysicalMemory() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["TotalPhysicalMemory"].ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// PC類型 /// </summary> /// <returns></returns> private string GetSystemType() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["SystemType"].ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } finally { } } /// <summary> /// 操作系統(tǒng)的登錄用戶名 /// </summary> /// <returns></returns> private string GetUserName() { try { string st = ""; ManagementClass mc = new ManagementClass("Win32_ComputerSystem"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { st = mo["UserName"].ToString(); } moc = null; mc = null; return st; } catch { return "unknow"; } finally { } } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
WPF使用HLSL實(shí)現(xiàn)百葉窗動(dòng)畫(huà)效果
百葉窗動(dòng)畫(huà)是制作PPT時(shí)常用的動(dòng)畫(huà)之一,本文將通過(guò)實(shí)現(xiàn)百葉窗動(dòng)畫(huà)效果的例子介紹在WPF中如何使用ShaderEffect,感興趣的小伙伴可以了解一下2023-09-09.NET中保證線程安全的高級(jí)方法Interlocked類使用介紹
這篇文章主要介紹了.NET中保證線程安全的高級(jí)方法Interlocked類使用介紹,Interlocked類可以為為多個(gè)線程共享的變量提供原子操作,需要的朋友可以參考下2014-07-07C#導(dǎo)出Excel的幾種常見(jiàn)方式及詳細(xì)實(shí)現(xiàn)步驟
excel導(dǎo)出在C#代碼中應(yīng)用己經(jīng)很廣泛了,我這里就做些總結(jié),下面這篇文章主要給大家介紹了關(guān)于C#導(dǎo)出Excel的幾種常見(jiàn)方式及詳細(xì)實(shí)現(xiàn)步驟的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06淺談c#.net中巧用ToString()將日期轉(zhuǎn)成想要的格式
有時(shí)候我們要對(duì)時(shí)間進(jìn)行轉(zhuǎn)換,達(dá)到不同的顯示效果,更多的該怎么辦呢?2013-03-03詳解C# TimeSpan 計(jì)算時(shí)間差(時(shí)間間隔)
本篇文章主要介紹了C# TimeSpan 計(jì)算時(shí)間差(時(shí)間間隔),非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-12-12