//获取CPU序列号
string cpuInfo = string.Empty;
ManagementClass mc1 = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc1.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
this.label1.Text = "cpu序列号:" + cpuInfo.ToString();
//获取硬盘
String HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
this.label1.Text = "硬盘序列号:" + HDid.ToString();
}
//获取网卡硬件地址
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
this.label3.Text = "MAC address\t{0}" + mo["MacAddress"].ToString();
mo.Dispose();
}
硬盘和网卡都可以获得,只有CPI那里说未将对象引用到实力.谁能告诉下为什么
string cpuInfo = string.Empty;
ManagementClass mc1 = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc1.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
this.label1.Text = "cpu序列号:" + cpuInfo.ToString();
//获取硬盘
String HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
this.label1.Text = "硬盘序列号:" + HDid.ToString();
}
//获取网卡硬件地址
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
this.label3.Text = "MAC address\t{0}" + mo["MacAddress"].ToString();
mo.Dispose();
}
硬盘和网卡都可以获得,只有CPI那里说未将对象引用到实力.谁能告诉下为什么
解决方案 »
- winform中如何显示根据IP远程连接的数据库表中的图片
- VS2005 导入包后里面的类没有全部显示出来
- 高分求一WINFORM窗体问题,分我够我再加,顶着都有
- CommboBox如何实现ReadOnly
- 请问打包时,怎么把配置的odbc打包进去??
- sql 选择查询的问题
- 动态页面怎么样转成静态页面
- datagrid中,我点击某个cell时,如何使当前行高亮,即显示此行的背景色.
- 问一具弱智的问题,在C#中如何获取其它页面传过来的值?
- 用System.ServiceModel创建了一个服务,怎么处理安全验证
- 如vs2005工具栏的可伸缩控件叫什么名字?
- 用.NET制作安装包后,怎么样改变setup.exe的图标
{
if(mo.Properties["ProcessorId"]!=null)
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
未将对象引用到实例
using System.Management; namespace CSharp_APP_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
//获取CPU序列号
string cpuInfo = string.Empty;
ManagementClass mc1 = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc1.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
this.label1.Text = "cpu序列号:" + cpuInfo.ToString(); }
}
}
---->
cpuInfo = mo["ProcessorId"].ToString();
而是还得去掉Properties
using System.Management; namespace CSharp_APP_Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
//获取CPU序列号
string cpuInfo = string.Empty;
ManagementClass mc1 = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc1.GetInstances();
foreach (ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
this.label1.Text = "cpu序列号:" + cpuInfo.ToString(); }
}
}
试了没问题