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>

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

/// </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>

/// 得到客户端IP地址

/// </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;

}

}

}

时间: 2024-10-18 21:21:57

C#获取电脑的相关信息的相关文章

获取Java系统相关信息

1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.junit.Test; 7 8 public class SystemTest { 9 10 /** 11 * 获取Java系统相关信息 12 * @throws Exception 13 */ 14 @Test 15 public void testSys() throws Exception { 1

C#:获取设备电量相关信息

[DllImport("kernel32.dll",EntryPoint="GetSystemPowerStatus")] //win32 api private static extern void GetSystemPowerStatus(ref SYSTEM_POWER_STATUS lpSystemPowerStatus); public struct SYSTEM_POWER_STATUS //结构体 { public Byte ACLineStatus;

获取 窗口 进程 相关信息

GameHwnd:= FindWindow(nil,'对对碰角色版'); //得到进程ID GetWindowThreadProcessId(GameHwnd,GamePid); //得到进程句柄 GameProcess:= OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,False,GamePid); //读取进程内存 ReadProcessMemory(GameProcess,Pointer($0048F128),@sitnum,4,readb

C#获取程序文件相关信息的方法

本文实例讲述了C#获取程序文件相关信息的方法,分享给大家供大家参考. 具体实现方法如下: using System.Reflection; using System.Runtime.CompilerServices; // // 有关程序集的常规信息是通过下列 // 属性集控制的.更改这些属性值可修改与程序集 // 关联的信息. // [assembly: AssemblyTitle("")] [assembly: AssemblyDescription("")]

C# -- 使用System.Environment获取电脑的相关属性

使用System.Environment获取电脑的相关属性 1.使用System.Environment获取电脑的相关属性(入门案例) 1 static void Main(string[] args) 2 { 3 MyComputer myNotebook = new MyComputer(); 4 myNotebook.ComputerInfo(); 5 Console.ReadKey(); 6 } 7 8 public class MyComputer 9 { 10 private str

ManagementClass类解析和C#如何获取硬件的相关信息

在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作. 现在先来介绍一下ManagementClass类,首先看一下类的继承结构: 现在看一下MSDN对ManagementClass类的解释,对表示一个通用信息模型 (CIM) 管理类. 管理类是 WMI 类,如 Win32_LogicalDisk, ,该类型可表示一个磁盘驱动器,并 Win32_Process, ,它表示的进程 Notepad.exe 等. 此类的成员可

Android实现获取应用程序相关信息列表的方法

本文所述为Androdi获取手机应用列表的方法,比如获取到Android应用的软件属性.大小和应用程序路径.应用名称等,获取所有已安装的Android应用列表,包括那些卸载了的,但没有清除数据的应用程序,同时在获取到应用信息的时候,判断是不是系统的应用程序,这是一个应用管理器所必需具备的功能. 具体实现代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

django views.py视图 获取用户请求相关信息以及请求头

请求的其他信息 用户发来请求时候,不仅发来数据,也把请求头也发过来 在views.py 怎么找请求数据? request是一个对象,这个对象封装很多信息,可以先查这个对象的类 print(type(request)) from django.shortcuts import reverse def index(request): v = reverse('author:index') print(v) print(type(request)) # 找到这个类 导入这个类 <class 'djan

asp.net C#获取程序文件相关信息

代码如下 复制代码 using System.Reflection;using System.Runtime.CompilerServices; //// 有关程序集的常规信息是通过下列// 属性集控制的.更改这些属性值可修改与程序集// 关联的信息.//[assembly: AssemblyTitle("")][assembly: AssemblyDescription("")][assembly: AssemblyConfiguration("&quo