博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#获取硬件信息
阅读量:4562 次
发布时间:2019-06-08

本文共 3787 字,大约阅读时间需要 12 分钟。

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)
                {
                    
                    st=mo[
"
TotalPhysicalMemory
"].ToString();
                    
                }
                moc=
null;
                mc=
null;
                
return st;
            }
            
catch
            {
                
return 
"
unknow
";
            }
            
finally
            {
            }
        }
        
///
 
<summary>
        
///
 
        
///
 
</summary>
        
///
 
<returns></returns>
        
string  GetComputerName()
        {
            
try
            {                
                
return System.Environment.GetEnvironmentVariable(
"
ComputerName
");
            }
            
catch
            {
                
return 
"
unknow
";
            }
            
finally
            {
            }
        }
    }
}

转载于:https://www.cnblogs.com/DODONG/archive/2011/11/07/2239596.html

你可能感兴趣的文章
面向对象之多态性
查看>>
树状数组
查看>>
【2019.8.14 慈溪模拟赛 T1】我不是!我没有!别瞎说啊!(notme)(BFS+DP)
查看>>
pyqt动画的使用
查看>>
pyqt 自定义信号
查看>>
多任务--进程 及 进程间通信
查看>>
多线程/多进程+QProgressBar实现进度条
查看>>
多任务(进程)案例----- 拷贝文件夹
查看>>
Kotlin的快速入门
查看>>
python 虚拟环境的 安装与 使用 和修改为豆瓣源
查看>>
js 快速入门
查看>>
Python 中的GIL
查看>>
如何解决ASCII 字符显示不出来的情况
查看>>
制表符 \t 的用法
查看>>
断点模式
查看>>
Ubuntu 侧边栏和顶栏设置
查看>>
底层原理
查看>>
21. Merge Two Sorted Lists
查看>>
shiro设置加密算法源码解析
查看>>
第二次冲刺
查看>>