工作日记:C#获取操作系统、MAC地址、登录用户、网卡、物理内存信息
/// <summary>
/// 操作系统的登录用户名
/// </summary>
/// <returns>系统的登录用户名</returns>
public static string GetUserName()
{
try
{
return Environment.UserName;
// var strUserName = string.Empty;
// var mc = new ManagementClass("Win32_ComputerSystem");
// var moc = mc.GetInstances();
// foreach (var mo in moc)
// {
// strUserName = mo["UserName"].ToString();
// }
// moc = null;
// mc = null;
// return strUserName;
}
catch
{
return "unknown";
}
} /// <summary>
/// 获取本机MAC地址
/// </summary>
/// <returns>本机MAC地址</returns>
public static string GetMacAddress()
{
try
{
var strMac = string.Empty;
var mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
var moc = mc.GetInstances();
foreach (var mo in moc.Cast<ManagementBaseObject>().Where(mo => (bool)mo["IPEnabled"] == true))
{
strMac = mo["MacAddress"].ToString();
}
moc = null;
mc = null;
return strMac;
}
catch
{
return "unknown";
}
} /// <summary>
/// 获取操作系统名称
/// </summary>
/// <returns>操作系统名称</returns>
public static string GetSystemName()
{
try
{
var strSystemName = string.Empty;
var mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT PartComponent FROM Win32_SystemOperatingSystem");
foreach (var mo in mos.Get())
{
strSystemName = mo["PartComponent"].ToString();
}
mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT Caption FROM Win32_OperatingSystem");
foreach (var mo in mos.Get())
{
strSystemName = mo["Caption"].ToString();
}
mos = null; return strSystemName;
}
catch
{
return "unknown";
}
} /// <summary>
/// 获取物理内存信息
/// </summary>
/// <returns>物理内存信息</returns>
public static string GetTotalPhysicalMemory()
{
try
{
var strTotalPhysicalMemory = string.Empty;
var mc = new ManagementClass("Win32_ComputerSystem");
var moc = mc.GetInstances();
foreach (var mo in moc)
{
strTotalPhysicalMemory = mo["TotalPhysicalMemory"].ToString();
}
moc = null;
mc = null;
return strTotalPhysicalMemory;
}
catch
{
return "unknown";
}
} public static string GetNetworkIp()
{
try
{
var networkIp = new StringBuilder();
var adapters = NetworkInterface.GetAllNetworkInterfaces(); //获取本机所有网卡对象
foreach (var adapter in adapters)
{
if (adapter.NetworkInterfaceType != NetworkInterfaceType.Ethernet && adapter.NetworkInterfaceType != NetworkInterfaceType.Ppp) continue; if (networkIp.Length == 0)
{
networkIp.Append($"{adapter.Name }:");
}
else
{
networkIp.Append($";{adapter.Name }:");
}
var ipProperties = adapter.GetIPProperties(); //获取IP配置
var ipCollection = ipProperties.UnicastAddresses; //获取单播地址集
for (var i = 0; i < ipCollection.Count; i++)
{
var ip = ipCollection[i];
if (ip.Address.AddressFamily != AddressFamily.InterNetwork) continue;
if (i == ipCollection.Count - 1)
{
networkIp.Append(ip.Address);
}
else
{
networkIp.Append($"{ip.Address},");
}
} }
return networkIp.Length == 0 ? "unknown" : networkIp.ToString();
}
catch (Exception)
{
return "unknown";
}
}
工作日记:C#获取操作系统、MAC地址、登录用户、网卡、物理内存信息的更多相关文章
- js获取客户端MAC地址
最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这需求就要求每次都判断用户登录的电脑MAC地址是否有呼叫中心账号,当然只针 ...
- java 通过ip获取客户端mac地址
java 通过ip获取客户端mac地址 package com.asppro.util; import java.io.BufferedReader; import java.io.IOExcepti ...
- 获取客户端Mac地址
近期有个需求,需要获取客户端Mac地址作为白名单验证的依据.使用.net,B/S架构.先百度找了一些获取mac地址的方法, using System; using System.Collections ...
- Android 获取手机Mac地址,手机名称
/** * 获取手机mac地址<br/> * 错误返回12个0 */ public static String getMacAddress(Context context) { // 获取 ...
- 获取设备mac地址和md5加密
SGMSettingConfig.h #import <Foundation/Foundation.h> @interface SGMSettingConfig : NSObject{ N ...
- js 获取客户端mac地址
js 获取客户端mac地址 javascript获取客户端网卡MAC地址和IP地址和计算机名 nodesj如何获得客户端的mac地址呢? 浏览器获取MAC地址 不限浏览器的mac地址取得的几种办法 I ...
- MD5做为文件名。机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧。
可以采用机器(电脑)唯一码 + 上传IP + 当前时间戳 + GUID ( + 随机数),然后MD5做为文件名.机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能 ...
- 解决Android 6.0获取wifi Mac地址为02:00:00:00:00:00问题【转】
本文转载自:http://www.jb51.net/article/128398.htm 这篇文章主要介绍了Android 6.0获取wifi Mac地址为02:00:00:00:00:00的解决方法 ...
- PowerBulider获取计算机mac地址
PowerBulider获取计算机mac地址 1.下载GETNET.DLL获取网络资源的API 2.PB的全局函数中的引入需要API,常用API列表如下 //得到计算机名字 function bool ...
- 查看客户端的IP地址,机器名,MAC地址,登陆名等信息
查看客户端的IP地址,机器名,MAC地址,登陆名等信息 SELECT s.session_id,s.login_time,s.host_name,p.loginame,s.program_name,c ...
随机推荐
- msp430入门编程41
msp430中C语言的软件工程--状态机建模
- try catch finally执行顺序 (return / 变量覆盖)
finally有return 始终返回finally中的return 抛弃 try 与catch中的return 情况1:try{} catch(){}finally{} return x; try{ ...
- EclipseEE的Web开发环境配置(使用Tomcat作为Web服务器)
进行JavaWeb开发,我们总共需要5个步骤:JDK的安装与配置:Tomcat的安装:EclipseEE的安装与配置:创建工程;编写代码并运行.安装的三个软件在版本和适用构架上要一致.当JDK是32位 ...
- 虚拟社会(Virtual Society)
虚拟社会(Virtual Society),又称赛博社会(Cyber Society),是指不同网民之间经由计算机.远程通讯终端等技术设备相互连接起来以进行信息的共享.互动与交流,并在其中进行社会交往 ...
- 基于51单片机的CAN通讯协议C语言程序
//-----------------------函数声明,变量定义-------------------------------------------------------- #includ ...
- 【APUE】进程间通信之管道
管道是UNIX系统IPC最古老形式,并且所有UNIX系统都提供此种通信机制.管道由下面两种局限性: 1)历史上,它们是半双工的(即数据只能在一个方向上流动) 2)它们只能在具有公共祖先的进程之间使用. ...
- [LeetCode][Java] Subsets
题目: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset ...
- Android网络编程之使用HTTP訪问网络资源
使用HTTP訪问网络资源 前面介绍了 URLConnection己经能够很方便地与指定网站交换信息,URLConnection另一个子类:HttpURLConnection,HttpURLConnec ...
- hdu2222--Keywords Search+AC自己主动机模板
题目链接:pid=2222">点击进入 KMP对模式串进行处理.然后就能够方便的推断模式串是否在目标串中出现了:这显示适合一个模式串多个目标串的情况.可是假设模式串有多个,这时假设还用 ...
- Oracle学习(18)【DBA向】:分布式数据库
分布式数据库 什么是分布数据库? l数据物理上被存放在网络的多个节点上,逻辑上是一个总体. 分布式数据库的独立性 l分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据. Ora ...