[访问系统] C#计算机信息类ComputerInfo (转载)
下载整个包,只下载现有类是不起作用的 http://www.sufeinet.com/thread-303-1-1.html
点击此处下载
using System; using System.Management; using System.Net; using System.Net.Sockets; using System.Text; using System.Diagnostics; using System.Text.RegularExpressions;namespace BaseFunction {///<summary>///计算机信息类///</summary>public class ComputerInfo{private string CpuID;private string MacAddress;private string DiskID;private string IpAddress;private string LoginUserName;private string ComputerName;private string SystemType;private string TotalPhysicalMemory; //单位:M private static ComputerInfo _instance;internal static ComputerInfo Instance(){if (_instance == null)_instance = new ComputerInfo();return _instance;}internal ComputerInfo(){CpuID = GetCpuID();MacAddress = GetMacAddress();DiskID = GetDiskID();IpAddress = GetIPAddress();LoginUserName = GetUserName();SystemType = GetSystemType();TotalPhysicalMemory = GetTotalPhysicalMemory();ComputerName = GetComputerName();}/// <summary>/// 浏览器客户端 获取网卡MAC地址MD5加密串 杨旭东/// </summary>/// <returns></returns>public static string GetClientMac(){try{string clientIP =System.Web.HttpContext.Current.Request.UserHostAddress.Trim();Int32 idest = API.inet_addr(clientIP);Int64 macInfo = new Int64();Int32 length = 6;int res = API.SendARP(idest, 0, ref macInfo, ref length);string mac_src = macInfo.ToString("X");if (!string.IsNullOrEmpty(mac_src) && !"0".Equals(mac_src)){while (mac_src.Length < 12){mac_src = mac_src.Insert(0, "0");}string mac_dest = string.Empty;for (int i = 0; i < 11; i++){if (i % 2 == 0){if (i == 10)mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2));elsemac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2));}}return mac_dest;}}catch{return "0";}return "0";}/// <summary>/// 获取CPU序列号代码 /// </summary>/// <returns></returns>public static 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{}}/// <summary>/// 获取网卡硬件地址 /// </summary>/// <returns></returns>public static string GetMacAddress(){try{//获取网卡硬件地址 return Mac.GetMacAddress();}catch{return "unknow";}finally{}}/// <summary>/// 获取IP地址(IPv4)/// </summary>/// <returns></returns>public static string GetIPAddress(){try{IPAddress[] arrIPAddresses = Dns.GetHostAddresses(Dns.GetHostName());foreach (IPAddress ip in arrIPAddresses){if (ip.AddressFamily.Equals(AddressFamily.InterNetwork))//IPv4 {return ip.ToString();}}return "unknow";}catch{return "unknow";}finally{}}/// <summary>/// 获取硬盘ID /// </summary>/// <returns></returns>public static string GetDiskID(){try{return Win32.GetHddInformation().ModuleNumber;}catch{return "unknow";}finally{}}///<summary>///操作系统的登录用户名 ///</summary>///<returns></returns>public static string GetUserName(){try{byte[] userName = new byte[30];Int32[] length = new Int32[1];length[0] = 30;//限定用户名长度 API.GetUserName(userName, length);return System.Text.Encoding.ASCII.GetString(userName);}catch{return "unknow";}finally{}}///<summary>/// PC类型 ///</summary>///<returns></returns>public static 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>public static string GetTotalPhysicalMemory(){try{API.MEMORY_INFO memoryInfo = new API.MEMORY_INFO();API.GlobalMemoryStatus(ref memoryInfo);return memoryInfo.dwTotalPhys.ToString();}catch{return "unknow";}finally{}}///<summary>/// 获取计算机名称///</summary>///<returns></returns>public static string GetComputerName(){try{byte[] computerName = new byte[30];Int32[] length = new Int32[1];length[0] = 30;//限定计算机名长度 API.GetComputerName(computerName,length);return System.Text.Encoding.ASCII.GetString(computerName);}catch{return "unknow";}finally{}}} }
转载于:https://www.cnblogs.com/lizeyan/p/3628216.html
[访问系统] C#计算机信息类ComputerInfo (转载)相关推荐
- 【转载】js访问系统剪贴板
问题描述 IE 支持使用 window.clipboardData 对象内的一系列方法访问系统剪贴板: Chrome 和 Safari 中存在类似的 Clipboard 对象,且有与 IE 中类似的方 ...
- python中如何实现复制粘贴_引子,Python中PyQt5实现复制粘贴,程序界面如何访问系统剪贴板...
前面内容,我们介绍了PyQt5中一些基本控件及常用的绘图设备类 Python中PyQt5如何打印图像界面,基本控件应用,QPrinter类详解 Python用PyQt5制作窗体状态栏,基本控件QSta ...
- UICollectionView入门--使用系统UICollectionViewFlowLayout布局类
UICollectionView入门--使用系统UICollectionViewFlowLayout布局类 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...
- python中的定制类(转载)
python中的定制类(转载)<?xml version="1.0" encoding="UTF-8"?> 看到类似__slots__这种形如__x ...
- Eval.cs的改进版 动态编译类,可以计算表达式,也可以调用系统中的类
Eval.cs的改进版 动态编译类,可以计算表达式,也可以调用系统中的类 /* 动态编译类,可以计算表达式,也可以调用系统中的类 调用方式: return new XXXXXXX.Eval() ...
- c#常用类库----计算机信息类
using System; using System.Management; using System.Net; using System.Net.Sockets; using System.Text ...
- 毕业论文系统的设计类图
毕业论文系统的设计类图: ER图: 转载于:https://www.cnblogs.com/zjm97/p/8735300.html
- 【基础概念】系统安全名词列表(转载)
从网上搜集的一些网络安全相关的一些名词,以备查询之用. 查询请用 <Ctrl> + <F> 补充一个网址: IT168术语详解 UID 用户身份证明(User Identifi ...
- 如何去掉系统快捷方式的箭头(转载)
如何去掉系统快捷方式的箭头(转载) 本文转自:http://blog.sina.com.cn/s/blog_5d2ced280100ocvb.html. 网上有很多去掉系统快捷方式箭头的方法,但基本每 ...
最新文章
- C#[Serializable]在C#中的作用-NET 中的对象序列化
- mysql数据库基础(密码策略)
- ​​​​​​​DL之RNN/LSTM/GRU:RNN/LSTM/GRU算法动图对比、TF代码定义之详细攻略
- mongodb 查询效率_2020年9个好用的MongoDB 图形化界面工具
- java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...
- 1001 A+B Format (20 分)
- 微软hackathon_Hackathon报告:30小时内您可以编写什么代码? 非常多!
- 图像处理-二值形态学运算
- DSP中两个延时函数的区别(转)
- 租房管理系统毕业设计Java_java毕业设计_springboot框架的租房管理系统
- ArcGIS 利用全局(局域)空间自相关分析进行城市不同家庭收入情况的空间集聚分析
- 2020-03-13 MySQL 8 绿色安装
- 中兴盒子ZTE-B860AV1.1T、AV2.1-通刷-线刷固件
- 简单个人网页设计 静态HTML动物主题网页 DW个人网站模板 简单宠物网页作品代码 个人网页制作 个人网页Dreamweaver设计与实现
- Android Fingerprint完全解析(二) :Fingerprint启动流程
- 质因数分解法、短除法、辗转相除法、更相减损法求最大公约数
- [Android6.0][MTK6737] 启动流程分析
- Calendar日期类使用总结
- c++中的有符号数与无符号数一起运算
- python画爱心的代码怎么运行_怎么用python实现画爱心
热门文章
- php为什么要使用静态方法,为什么PHP在对象上下文中使用静态方法?
- php支付回调怎么写_php 微信支付回调校验的两种做法
- c++读取文件夹下特定文件
- opencv_图像反转
- Linux搭建虚拟专用,Ubuntu的发行版如何搭建虚拟专用网
- wow修改人物模型_抖音爆款心法:一个模型+五组案例
- %3cphp和%3c php_phpcmsv9后台登录绕过
- FPGA学习笔记---Verilog延迟语句分析比较
- MyBatis-Plus条件查询——Wrapper
- 一步一步带你搭建SpringCloud微服务