工作日记: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 ...
随机推荐
- Eventquery.vbs
https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc772995(v=ws.10)
- .NET Core 3.0之深入源码理解Configuration(一)
Configuration总体介绍 微软在.NET Core里设计出了全新的配置体系,并以非常灵活.可扩展的方式实现.从其源码来看,其运行机制大致是,根据其Source,创建一个Builder实例,并 ...
- Unique Paths II (dp题)
Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...
- redis连接数据库进行操作
该项目需要的类目录 1.首先我们需要创建我们的实体类 2.放置我们的dao层,在里面写入方法 3.配置类Appconfig需要加入我们的JdbcTemplate方法,因为我们用的是spring,所以需 ...
- Java实验——输出一个数组里面连续子数组最大的和(二)文件操作
在本周的练习中,主要是对上周的实验进行健壮性的完善,即在所能考虑到的情况之中,尽量使自己的程序能够正常地运行. 在上周的实验中,我已经是在编程过程中考虑到用户输入的错误类型的问题,所以这一方面并没有多 ...
- Win7 SP1 安装SQL Server 2012时提示“此计算机上的操作系统不符合 SQL Server 2012的最低要求”
- win7电脑定时开机设置方法
在BIOS设置主界面中选择“Power Management Setup”,进入“电源管理”窗口. 注:缺省情况下,“Resume By Alarm”定时开机选项是关闭的. 将鼠标移到“Resume ...
- SQL - 创建一个学生表,要求有主键约束和非空约束
CREATE TABLE [dbo].[Student] ( [ID] [int] NOT NULL, [Name] [nchar](10) NOT NULL, [Age] [int] NOT NUL ...
- router-link的a样式变成div样式元素属性
<router-link tag="div" :to="itemChild.path"><span>{{itemChild.name}} ...
- 【手记】小心在where中使用NEWID()的大坑 【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题 【C#】组件分享:FormDragger窗体拖拽器 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
[手记]小心在where中使用NEWID()的大坑 这个表达式: ABS(CHECKSUM(NEWID())) % 3 --把GUID弄成正整数,然后取模 是随机返回0.1.2这三个数,不可能返回其它 ...