C#获取电脑的相关信息
/* 创建者:菜刀居士的博客
* 创建日期: 2014年08月31号
* 功能:获取电脑的相关信息
*
*/
namespace Net.String.ConsoleApplication
{
using System;
using System.Management;
public class ComputerHelper
{
/// <summary>
/// 获取CPU序列号代码
/// </summary>
public static string GetCPUId()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo.Properties["ProcessorId"].Value.ToString();
}
return string.Empty;
});
}
/// <summary>
/// 获取网卡Mac地址
/// </summary>
public static string GetMacAddress()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
return mo["MacAddress"].ToString();
}
}
return string.Empty;
});
}
/// <summary>
/// 获取硬盘ID
/// </summary>
public static string GetDiskID()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return (string)mo.Properties["Model"].Value;
}
return string.Empty;
});
}
/// <summary>
/// 操作系统的登录username
/// </summary>
public static string GetUserName()
{
return ExecInfo(() => {
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["UserName"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// PC类型
/// </summary>
public static string GetSystemType()
{
return ExecInfo(() =>
{
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["SystemType"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// 物理内存
/// </summary>
public static string GetTotalPhysicalMemory()
{
return ExecInfo(() =>
{
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
return mo["TotalPhysicalMemory"].ToString();
}
return string.Empty;
});
}
/// <summary>
/// 计算机名称
/// </summary>
public static string GetComputerName()
{
return ExecInfo(() => {
return System.Environment.GetEnvironmentVariable("ComputerName");
});
}
private static string ExecInfo(Func<string> func)
{
string result = string.Empty;
try
{
result = func();
}
catch
{
return "unknow";
}
finally { }
return result;
}
/// <summary>
/// 得到clientIP地址
/// </summary>
public string GetClientIdAddress()
{
string ip = string.Empty;
try
{
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
else
ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
if (string.IsNullOrEmpty(ip))
{
ip = System.Web.HttpContext.Current.Request.UserHostAddress;
}
}
catch { ip = "1.1.1.1"; }
return ip;
}
}
}
C#获取电脑的相关信息的更多相关文章
- 获取Java系统相关信息
package com.test; import java.util.Properties; import java.util.Map.Entry; import org.junit.Test; pu ...
- .Net中获取打印机的相关信息
原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...
- Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息
详情请看:Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息 在项目中需要获取到当前设备,例如手机的ID,联网状态,等,然后这个Cordova里有这个插件可以用, ...
- C# -- 使用System.Environment获取电脑的相关属性
使用System.Environment获取电脑的相关属性 1.使用System.Environment获取电脑的相关属性(入门案例) static void Main(string[] args) ...
- 通过request对象获取客户端的相关信息
通过request对象获取客户端的相关信息 制作人:全心全意 通过request对象可以获取客户端的相关信息.例如HTTP报头信息.客户信息提交方式.客户端主机IP地址.端口号等等. request获 ...
- NX二次开发-UF_ASSEM_ask_component_data获取装配部件的相关信息
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> ], void* user_ ...
- $_SERVER['HTTP_USER_AGENT']:在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息
在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息. 我机器:操作系统:WIN7旗舰版 64操作系统 以下为各个浏览器下$_SERVER['HTT ...
- JAVA如何利用Swiger获取Linux系统电脑配置相关信息
最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习. 推荐大家参考链接:ht ...
- ManagementClass类解析和C#如何获取硬件的相关信息
在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作. 现在先来介绍一下ManagementClass类,首先看一下类的继承 ...
随机推荐
- LeetCode(136) Single Number
题目 Given an array of integers, every element appears twice except for one. Find that single one. Not ...
- spring-cloud-sleuth 学习资源
https://www.baeldung.com/spring-cloud-sleuth-single-application https://howtodoinjava.com/spring-clo ...
- Java单例模式简单实现
代码 public class Singleton { private static Singleton singleton;//创建一个单例对象 public static Singleton ge ...
- 大数据学习——Storm+Kafka+Redis整合
1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- x86保护模式 实模式与保护模式切换实例
x86保护模式 实模式与保护模式切换实例 实例一 逻辑功能 以十六进制数的形式显示从内存地址110000h开始的256个字节的值 实现步骤: 1 切换保护方式的准备 2. 切换到保 ...
- HDU 3271 SNIBB
SNIBB Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 3271 ...
- Python --链接Mongodb
# -*- coding: UTF-8 -*- from pymongo import MongoClient # 数据库连接 class MongoDB(object): def __init__( ...
- 九度oj 题目1109:连通图
题目描述: 给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的. 输入: 每组数据的第一行是两个整数 n 和 m(0<=n<=1000).n 表示图的顶点数目,m 表示图中边的 ...
- 更新yum源导致yum不可用
当安装和yum配置相关的包后报yum模块找不到 yum install -y yum-utils device-mapper-persistent-data lvm2 yum list|grep yu ...
- 【Luogu】P3384主席树模板(主席树查询K小数)
YEAH!我也是一个AC主席树模板的人了! 其实是个半吊子 我将尽量详细的讲出我的想法. 主席树太难,我们先搞普通线段树好了 普通线段树怎么做?我的想法是查询K次最小值,每次查完把查的数改成INF,查 ...