展开全部

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Collections;

using System.Management;

namespace Test

{

///

/// Computer Information

///

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

{

//获取e69da5e887aa62616964757a686964616f31333365653932CPU序列号代码

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

{

}

}

///

/// 操作系统的登录用户名

///

///

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

{

}

}

///

/// PC类型

///

///

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

{

}

}

///

/// 物理内存

///

///

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

{

}

}

///

///

///

///

string  GetComputerName()

{

try

{

return System.Environment.GetEnvironmentVariable("ComputerName");

}

catch

{

return "unknow";

}

finally

{

}

}

}

}

c#获取对象的唯一标识_C#如何获取机器唯一标识符相关推荐

  1. java 反射获取对象_使用Java反射机制获取对象

    本文由广州疯狂软件教育java培训分享: 构造接口Person,所有Person都会问好,但具体讲什么语言就不知道了! package interf; public interface Person ...

  2. java 获取对象的大小限制_Java - 如何获取对象大小

    有没有一种简单的方法获取特定对象的大小? 于是发现了这么个东西: 光看了下该方法的声明,这不就是获取对象的大小么,于是没想太多,心想这下问题变得简单了,弄了个premain方法初始化Instrumen ...

  3. html过去手机唯一标识,H5能获取到手机设备ID或者手机浏览器唯一识别码吗

    content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> JS获取手机型 ...

  4. jq获取对象的长度_jquery中怎么获取数组的长度

    jquery中获取数组长度的方法:可以使用length属性获取数组的长度,length属性包含jQuery对象中元素的数目,属性语法为[$(selector).length]. 本教程操作环境:win ...

  5. c# 获取路径的盘符_C# 如何获取映射网络驱动器的共享路径 | 学步园

    1. 映射一个网络驱动器: 2. 完成映射后将在资源管理器中看到新增的盘符 Z 3. 使用下面的代码我们能很容易的获取到本地映射网络驱动器的网络路径. using System; using Syst ...

  6. c#获取对象的唯一标识_在 Java 中利用 redis 实现分布式全局唯一标识服务

    作者: 杨高超 juejin.im/post/5a4984265188252b145b643e 获取全局唯一标识的方法介绍 在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求.在以前的单体应用 ...

  7. js 获取设备或浏览器唯一标识的方式

    网上的一些回复有很多,反正就是获取不到h5的机器码,或者mac地址,所以只能获取浏览器唯一标识. fingerprint获取的方式,代码: const fpPromise = new Promise( ...

  8. uni-app获取设备的唯一标识

    uni-app根据不同手机平台获取设备的唯一标识,由于获取的方式是异步的,当前页面执行不一定能拿到.建议存缓存,其他页面可以用调用缓存的方式获取,不存在的话在执行一下方法获取,确保保证一定能获取的到. ...

  9. 获取android设备唯一编号_如何获取Android设备唯一标识码教程

    ID的全称是(Virtual identity electronic identification),中文名为通用账户,是俗称的网络身份证.它是一种互联网身份认证协议,其具有唯一性和信息不可否认性.I ...

最新文章

  1. Linux根文件系统学习总结
  2. Py之Matplotlib:python包之Matplotlib库图表绘制经验总结(中英文字体修改、横坐标文字进行横/纵向显示、控制坐标轴范围等)之详细攻略
  3. RuoYi-Cloud 部署篇_03(linux环境 Oracle +nginx版本)
  4. 十五、Python第十五课——测试代码
  5. matlab期中考试卷,湖南大学matlab期中考试试卷分析
  6. 如何在.Netcore控制台应用中使用依赖注入(4)
  7. Android浸入式
  8. 易之风门诊收费系统 v1.0 官方
  9. 论文排版LaTeX学习笔记
  10. 我的世界服务器存档的文件夹,我的世界存档在哪个文件夹
  11. 实例详解 LaTeX 写学术论文
  12. omf多路径 oracle_ORACLE OMF
  13. 程序设计思维 A - 区间选点 II(差分约束)
  14. 路由器搭设mysql_搭建mysql5.7.13环境的方法步骤
  15. 知乎热议:替代 Matlab 的国产软件出现,开发商称半年内实现 Matlab 功能的70%
  16. SQL server身份验证
  17. (附源码)springboot汽车配件销售管理系统 毕业设计131650
  18. mysql数据库表更新_MySQL更新表数据
  19. 第一章 MUD:创造世界的巫师
  20. java 第三方登录之新浪微博登录

热门文章

  1. python跑得慢_代码跑得慢甩锅Python?手把手教你如何给代码提速30%
  2. python代码命令行tab补齐_Python在命令行下Tab键自动补全脚本
  3. 一台机器同时启动两个tomcat
  4. express 的 middleware 设计
  5. 第十一集VLAN原理和VTP协议理论讲解
  6. CentOS 7 安装部署 cassandra作为kairosdb的数据存储
  7. [NOIp提高组2017]宝藏
  8. C/C++变量在嵌套域内可见
  9. python_104_面向对象总结
  10. BPM实例分享:如何设置表单字体样式