用c#获取CPU、内存、硬盘、显卡,计算机名如下信息

CPU信息内存信息硬盘信息主显卡信息计算机名获得如上信息即可。... CPU信息

内存信息

硬盘信息

主显卡信息

计算机名

获得如上信息即可。
展开
 我来答
魔术师_西索
2015-05-26 · TA获得超过7492个赞
知道大有可为答主
回答量:8470
采纳率:69%
帮助的人:4201万
展开全部
代码如下(具体看注释):
view plaincopy to clipboardprint?

using System;

using System.Management;

namespace Soyee.Comm

{

/// summary

/// Computer Information

/// /summary

public 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;

}

protected Computer()

{

CpuID=GetCpuID();

MacAddress=GetMacAddress();

DiskID=GetDiskID();

IpAddress=GetIPAddress();

LoginUserName=GetUserName();

SystemType=GetSystemType();

TotalPhysicalMemory=GetTotalPhysicalMemory();

ComputerName=GetComputerName();

}

string GetCpuID()

{

try

{

//获取CPU序列号代码

string cpuInfo = ;//cpu序列号

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

{

}

}

string GetMacAddress()

{

try

{

//获取网卡硬件地址

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

{

}

}

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

{

}

}

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

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

{

}

}

/// summary

/// PC类型

/// /summary

/// returns/returns

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

/// 物理内存

/// /summary

/// returns/returns

string GetTotalPhysicalMemory()

{

try

{

string st=;

ManagementClass mc = new ManagementClass(Win32_ComputerSystem);

ManagementObjectCollection moc = mc.GetInstances();

foreach(ManagementObject mo in moc)
追问
谢谢,不过你这好像没有显卡信息。

你这没有显卡信息,程序功能可以多,但不可以少。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩转数据处理
2015-05-26 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3791

向TA提问 私信TA
展开全部
ManagementObjectSearcher Searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController ");//再根据私信给你的链接修改查询项就好了
foreach (ManagementObject Share in Searcher.Get())
{
    richTextBox1.Text += "Caption = " + Share.GetPropertyValue("Caption").ToString();//个别属性
    richTextBox1.Text += Share.GetText(TextFormat.Mof) + "\n";//全部属性
}


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式