- 浏览: 815700 次
-
文章分类
最新评论
-
centralplains:
坑爹其他代码呢???
C#获取CPU占用率、内存占用、磁盘占用、进程信息 -
hellodajun:
;支持你;Come on ! me too!
2012注定是收获的一年,奋斗才刚刚开始 -
xiaomogui:
楼主买那么多书, 要花多少钱??!!!
2012注定是收获的一年,奋斗才刚刚开始 -
pengchenming:
挺好的,向楼主学习,自己刚做完计划,但是看看楼主的,发现自己需 ...
2012注定是收获的一年,奋斗才刚刚开始 -
pacer123:
难道是炫耀贴
2012注定是收获的一年,奋斗才刚刚开始
用C#获取CPU编号、硬盘编号等系统有关环境、属性
用C#获取CPU编号、硬盘编号等系统有关环境、属性
如果利用C#获取系统有关环境和属性,这个也是在网上问得比较多的问题,不过大部分只有提问没有回答,最近正好想做有关方面的东西,整理了一下,提供给大家,希望能给大家提供参考意见:
首先需要定义几个结构(struct) ,便于DllImport作为返回参数调用。以下是代码:
CpuInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义CPU的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct CpuInfo
...{
/**////
/// OEM ID
///
public uint dwOemId;
/**////
/// 页面大小
///
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
/**////
/// CPU个数
///
public uint dwNumberOfProcessors;
/**////
/// CPU类型
///
public uint dwProcessorType;
public uint dwAllocationGranularity;
/**////
/// CPU等级
///
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}
MemoryInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义内存的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct MemoryInfo
...{
/**////
///
///
public uint dwLength;
/**////
/// 已经使用的内存
///
public uint dwMemoryLoad;
/**////
/// 总物理内存大小
///
public uint dwTotalPhys;
/**////
/// 可用物理内存大小
///
public uint dwAvailPhys;
/**////
/// 交换文件总大小
///
public uint dwTotalPageFile;
/**////
/// 可用交换文件大小
///
public uint dwAvailPageFile;
/**////
/// 总虚拟内存大小
///
public uint dwTotalVirtual;
/**////
/// 可用虚拟内存大小
///
public uint dwAvailVirtual;
}
SystemTimeInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义系统时间的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct SystemTimeInfo
...{
/**////
/// 年
///
public ushort wYear;
/**////
/// 月
///
public ushort wMonth;
/**////
/// 星期
///
public ushort wDayOfWeek;
/**////
/// 天
///
public ushort wDay;
/**////
/// 小时
///
public ushort wHour;
/**////
/// 分钟
///
public ushort wMinute;
/**////
/// 秒
///
public ushort wSecond;
/**////
/// 毫秒
///
public ushort wMilliseconds;
}
另外还定义了一个调用类SystemInfo.cs,代码如下:
using System;
using System.Configuration;
using System.Runtime.InteropServices;
using System.Management;
using System.Text;
/**////
/// SystemInfo 的摘要说明
///
public class SystemInfo
...{
private const int CHAR_COUNT = 128;
public SystemInfo()
...{
}
[DllImport("kernel32")]
private static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
[DllImport("kernel32")]
private static extern void GetSystemDirectory(StringBuilder SysDir, int count);
[DllImport("kernel32")]
private static extern void GetSystemInfo(ref CpuInfo cpuInfo);
[DllImport("kernel32")]
private static extern void GlobalMemoryStatus(ref MemoryInfo memInfo);
[DllImport("kernel32")]
private static extern void GetSystemTime(ref SystemTimeInfo sysInfo);
/**////
/// 查询CPU编号
///
///
public string GetCpuId()
...{
ManagementClass mClass = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mClass.GetInstances();
string cpuId=null;
foreach (ManagementObject mo in moc)
...{
cpuId = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return cpuId;
}
/**////
/// 查询硬盘编号
///
///
public string GetMainHardDiskId()
...{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
String hardDiskID=null;
foreach (ManagementObject mo in searcher.Get())
...{
hardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return hardDiskID;
}
/**////
/// 获取Windows目录
///
///
public string GetWinDirectory()
...{
StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
GetWindowsDirectory(sBuilder, CHAR_COUNT);
return sBuilder.ToString();
}
/**////
/// 获取系统目录
///
///
public string GetSysDirectory()
...{
StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
GetSystemDirectory(sBuilder, CHAR_COUNT);
return sBuilder.ToString();
}
/**////
/// 获取CPU信息
///
///
public CpuInfo GetCpuInfo()
...{
CpuInfo cpuInfo = new CpuInfo();
GetSystemInfo(ref cpuInfo);
return cpuInfo;
}
/**////
/// 获取系统内存信息
///
///
public MemoryInfo GetMemoryInfo()
...{
MemoryInfo memoryInfo = new MemoryInfo();
GlobalMemoryStatus(ref memoryInfo);
return memoryInfo;
}
/**////
/// 获取系统时间信息
///
///
public SystemTimeInfo GetSystemTimeInfo()
...{
SystemTimeInfo systemTimeInfo = new SystemTimeInfo();
GetSystemTime(ref systemTimeInfo);
return systemTimeInfo;
}
/**////
/// 获取系统名称
///
///
public string GetOperationSystemInName()
...{
OperatingSystem os = System.Environment.OSVersion;
string osName = "UNKNOWN";
switch (os.Platform)
...{
case PlatformID.Win32Windows:
switch (os.Version.Minor)
...{
case 0: osName = "Windows 95"; break;
case 10: osName = "Windows 98"; break;
case 90: osName = "Windows ME"; break;
}
break;
case PlatformID.Win32NT:
switch (os.Version.Major)
...{
case 3: osName = "Windws NT 3.51"; break;
case 4: osName = "Windows NT 4"; break;
case 5: if (os.Version.Minor == 0)
...{
osName = "Windows 2000";
}
else if (os.Version.Minor == 1)
...{
osName = "Windows XP";
}
else if (os.Version.Minor == 2)
...{
osName = "Windows Server 2003";
}
break;
case 6: osName = "Longhorn"; break;
}
break;
}
return String.Format("{0},{1}", osName, os.Version.ToString());
}
}
以下是调用实例,为了简单,我在一个aspx页面中输出,不过这个程序可以在WinForm中调用:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
public partial class Index : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
if (!Page.IsPostBack)
...{
SystemInfo systemInfo = new SystemInfo();
Response.Write("操作系统:" + systemInfo.GetOperationSystemInName() + "
");
Response.Write("CPU编号:"+systemInfo.GetCpuId() + "
");
Response.Write("硬盘编号:"+systemInfo.GetMainHardDiskId() + "
");
Response.Write("Windows目录所在位置:" + systemInfo.GetSysDirectory() + "
");
Response.Write("系统目录所在位置:" + systemInfo.GetWinDirectory() + "
");
MemoryInfo memoryInfo = systemInfo.GetMemoryInfo();
CpuInfo cpuInfo = systemInfo.GetCpuInfo();
Response.Write("dwActiveProcessorMask" + cpuInfo.dwActiveProcessorMask + "
");
Response.Write("dwAllocationGranularity" + cpuInfo.dwAllocationGranularity + "
");
Response.Write("CPU个数:" + cpuInfo.dwNumberOfProcessors + "
");
Response.Write("OEM ID:" + cpuInfo.dwOemId + "
");
Response.Write("页面大小" + cpuInfo.dwPageSize + "
");
Response.Write("CPU等级" + cpuInfo.dwProcessorLevel + "
");
Response.Write("dwProcessorRevision" + cpuInfo.dwProcessorRevision + "
");
Response.Write("CPU类型" + cpuInfo.dwProcessorType + "
");
Response.Write("lpMaximumApplicationAddress" + cpuInfo.lpMaximumApplicationAddress + "
");
Response.Write("lpMinimumApplicationAddress" + cpuInfo.lpMinimumApplicationAddress + "
");
Response.Write("CPU类型:" + cpuInfo.dwProcessorType + "
");
Response.Write("可用交换文件大小:" + memoryInfo.dwAvailPageFile + "
");
Response.Write("可用物理内存大小:" + memoryInfo.dwAvailPhys + "
");
Response.Write("可用虚拟内存大小" + memoryInfo.dwAvailVirtual + "
");
Response.Write("操作系统位数:" + memoryInfo.dwLength + "
");
Response.Write("已经使用内存大小:" + memoryInfo.dwMemoryLoad + "
");
Response.Write("交换文件总大小:" + memoryInfo.dwTotalPageFile + "
");
Response.Write("总物理内存大小:" + memoryInfo.dwTotalPhys + "
");
Response.Write("总虚拟内存大小:" + memoryInfo.dwTotalVirtual + "
");
}
}
}
说明:前台aspx页面没有任何控件。
用C#获取CPU编号、硬盘编号等系统有关环境、属性
如果利用C#获取系统有关环境和属性,这个也是在网上问得比较多的问题,不过大部分只有提问没有回答,最近正好想做有关方面的东西,整理了一下,提供给大家,希望能给大家提供参考意见:
首先需要定义几个结构(struct) ,便于DllImport作为返回参数调用。以下是代码:
CpuInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义CPU的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct CpuInfo
...{
/**////
/// OEM ID
///
public uint dwOemId;
/**////
/// 页面大小
///
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
/**////
/// CPU个数
///
public uint dwNumberOfProcessors;
/**////
/// CPU类型
///
public uint dwProcessorType;
public uint dwAllocationGranularity;
/**////
/// CPU等级
///
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}
MemoryInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义内存的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct MemoryInfo
...{
/**////
///
///
public uint dwLength;
/**////
/// 已经使用的内存
///
public uint dwMemoryLoad;
/**////
/// 总物理内存大小
///
public uint dwTotalPhys;
/**////
/// 可用物理内存大小
///
public uint dwAvailPhys;
/**////
/// 交换文件总大小
///
public uint dwTotalPageFile;
/**////
/// 可用交换文件大小
///
public uint dwAvailPageFile;
/**////
/// 总虚拟内存大小
///
public uint dwTotalVirtual;
/**////
/// 可用虚拟内存大小
///
public uint dwAvailVirtual;
}
SystemTimeInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;
/**//**
* LayoutKind.Automatic:为了提高效率允许运行态对类型成员重新排序
* 注意:永远不要使用这个选项来调用不受管辖的动态链接库函数。
* LayoutKind.Explicit:对每个域按照FieldOffset属性对类型成员排序
* LayoutKind.Sequential:对出现在受管辖类型定义地方的不受管辖内存中的类型成员进行排序。
*/
/**////
/// 定义系统时间的信息结构
///
[StructLayout(LayoutKind.Sequential)]
public struct SystemTimeInfo
...{
/**////
/// 年
///
public ushort wYear;
/**////
/// 月
///
public ushort wMonth;
/**////
/// 星期
///
public ushort wDayOfWeek;
/**////
/// 天
///
public ushort wDay;
/**////
/// 小时
///
public ushort wHour;
/**////
/// 分钟
///
public ushort wMinute;
/**////
/// 秒
///
public ushort wSecond;
/**////
/// 毫秒
///
public ushort wMilliseconds;
}
另外还定义了一个调用类SystemInfo.cs,代码如下:
using System;
using System.Configuration;
using System.Runtime.InteropServices;
using System.Management;
using System.Text;
/**////
/// SystemInfo 的摘要说明
///
public class SystemInfo
...{
private const int CHAR_COUNT = 128;
public SystemInfo()
...{
}
[DllImport("kernel32")]
private static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
[DllImport("kernel32")]
private static extern void GetSystemDirectory(StringBuilder SysDir, int count);
[DllImport("kernel32")]
private static extern void GetSystemInfo(ref CpuInfo cpuInfo);
[DllImport("kernel32")]
private static extern void GlobalMemoryStatus(ref MemoryInfo memInfo);
[DllImport("kernel32")]
private static extern void GetSystemTime(ref SystemTimeInfo sysInfo);
/**////
/// 查询CPU编号
///
///
public string GetCpuId()
...{
ManagementClass mClass = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mClass.GetInstances();
string cpuId=null;
foreach (ManagementObject mo in moc)
...{
cpuId = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return cpuId;
}
/**////
/// 查询硬盘编号
///
///
public string GetMainHardDiskId()
...{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
String hardDiskID=null;
foreach (ManagementObject mo in searcher.Get())
...{
hardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return hardDiskID;
}
/**////
/// 获取Windows目录
///
///
public string GetWinDirectory()
...{
StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
GetWindowsDirectory(sBuilder, CHAR_COUNT);
return sBuilder.ToString();
}
/**////
/// 获取系统目录
///
///
public string GetSysDirectory()
...{
StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
GetSystemDirectory(sBuilder, CHAR_COUNT);
return sBuilder.ToString();
}
/**////
/// 获取CPU信息
///
///
public CpuInfo GetCpuInfo()
...{
CpuInfo cpuInfo = new CpuInfo();
GetSystemInfo(ref cpuInfo);
return cpuInfo;
}
/**////
/// 获取系统内存信息
///
///
public MemoryInfo GetMemoryInfo()
...{
MemoryInfo memoryInfo = new MemoryInfo();
GlobalMemoryStatus(ref memoryInfo);
return memoryInfo;
}
/**////
/// 获取系统时间信息
///
///
public SystemTimeInfo GetSystemTimeInfo()
...{
SystemTimeInfo systemTimeInfo = new SystemTimeInfo();
GetSystemTime(ref systemTimeInfo);
return systemTimeInfo;
}
/**////
/// 获取系统名称
///
///
public string GetOperationSystemInName()
...{
OperatingSystem os = System.Environment.OSVersion;
string osName = "UNKNOWN";
switch (os.Platform)
...{
case PlatformID.Win32Windows:
switch (os.Version.Minor)
...{
case 0: osName = "Windows 95"; break;
case 10: osName = "Windows 98"; break;
case 90: osName = "Windows ME"; break;
}
break;
case PlatformID.Win32NT:
switch (os.Version.Major)
...{
case 3: osName = "Windws NT 3.51"; break;
case 4: osName = "Windows NT 4"; break;
case 5: if (os.Version.Minor == 0)
...{
osName = "Windows 2000";
}
else if (os.Version.Minor == 1)
...{
osName = "Windows XP";
}
else if (os.Version.Minor == 2)
...{
osName = "Windows Server 2003";
}
break;
case 6: osName = "Longhorn"; break;
}
break;
}
return String.Format("{0},{1}", osName, os.Version.ToString());
}
}
以下是调用实例,为了简单,我在一个aspx页面中输出,不过这个程序可以在WinForm中调用:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
public partial class Index : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
if (!Page.IsPostBack)
...{
SystemInfo systemInfo = new SystemInfo();
Response.Write("操作系统:" + systemInfo.GetOperationSystemInName() + "
");
Response.Write("CPU编号:"+systemInfo.GetCpuId() + "
");
Response.Write("硬盘编号:"+systemInfo.GetMainHardDiskId() + "
");
Response.Write("Windows目录所在位置:" + systemInfo.GetSysDirectory() + "
");
Response.Write("系统目录所在位置:" + systemInfo.GetWinDirectory() + "
");
MemoryInfo memoryInfo = systemInfo.GetMemoryInfo();
CpuInfo cpuInfo = systemInfo.GetCpuInfo();
Response.Write("dwActiveProcessorMask" + cpuInfo.dwActiveProcessorMask + "
");
Response.Write("dwAllocationGranularity" + cpuInfo.dwAllocationGranularity + "
");
Response.Write("CPU个数:" + cpuInfo.dwNumberOfProcessors + "
");
Response.Write("OEM ID:" + cpuInfo.dwOemId + "
");
Response.Write("页面大小" + cpuInfo.dwPageSize + "
");
Response.Write("CPU等级" + cpuInfo.dwProcessorLevel + "
");
Response.Write("dwProcessorRevision" + cpuInfo.dwProcessorRevision + "
");
Response.Write("CPU类型" + cpuInfo.dwProcessorType + "
");
Response.Write("lpMaximumApplicationAddress" + cpuInfo.lpMaximumApplicationAddress + "
");
Response.Write("lpMinimumApplicationAddress" + cpuInfo.lpMinimumApplicationAddress + "
");
Response.Write("CPU类型:" + cpuInfo.dwProcessorType + "
");
Response.Write("可用交换文件大小:" + memoryInfo.dwAvailPageFile + "
");
Response.Write("可用物理内存大小:" + memoryInfo.dwAvailPhys + "
");
Response.Write("可用虚拟内存大小" + memoryInfo.dwAvailVirtual + "
");
Response.Write("操作系统位数:" + memoryInfo.dwLength + "
");
Response.Write("已经使用内存大小:" + memoryInfo.dwMemoryLoad + "
");
Response.Write("交换文件总大小:" + memoryInfo.dwTotalPageFile + "
");
Response.Write("总物理内存大小:" + memoryInfo.dwTotalPhys + "
");
Response.Write("总虚拟内存大小:" + memoryInfo.dwTotalVirtual + "
");
}
}
}
说明:前台aspx页面没有任何控件。
相关推荐
在C#编程中,获取计算机硬件的相关信息,如硬盘编号、CPU编号及类型以及内存大小和使用情况,是系统管理或软件开发中的常见需求。这些信息对于系统监控、性能优化和资源分配至关重要。以下是如何使用C#实现这些功能...
标题和描述中所提及的知识点主要集中在如何使用C#编程语言通过System.Management类来获取计算机硬件信息,包括CPU编号、主板编号以及硬盘编号等。这一技术对于系统开发人员来说非常实用,尤其是在需要验证硬件配置、...
WMI不仅可以获取CPU编号,还可以获取其他硬件信息,如内存容量、硬盘信息、网络配置等。通过改变查询语句,我们可以获取更多关于系统的详细信息。例如,如果你想要获取CPU的名称和速度,可以修改查询语句为“SELECT ...
获取CPU序列号可以使用C#中的WMI(Windows Management Instrumentation)框架。通过查询`Win32_Processor`类,我们可以获取到CPU的相关信息,包括序列号。 2. **硬盘序列号**:硬盘也有其特有的序列号,同样用于...
本文将详细解析如何使用C#获取包括机器名、CPU编号、硬盘编号以及网卡MAC地址等信息。 首先,我们来看获取机器名的方法。在C#中,可以通过`System.Net.Dns`类的`GetHostName`方法获取到当前计算机的主机名。这个...
在C#编程中,获取计算机的硬件标志、机器名、CPU编号以及第一块硬盘编号是常见的系统信息查询任务。这些信息对于系统管理、软件激活、设备识别等方面具有重要作用。下面将详细阐述如何通过C#来获取这些信息。 1. ...
在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)和Visifire库来实现一个功能,即实时监测并展示Windows操作系统的内存占用和CPU使用情况。Visifire是一款强大的数据可视化工具,它提供了...
标题中的"C#调用C++生成的dll获取CPU序列号"涉及到的是跨语言编程和系统信息获取的技术。这里,C++被用来编写一个动态链接库(DLL),该库实现了获取CPU序列号的功能,然后在C#应用程序中进行调用。下面我们将详细...
在C#编程中,获取系统信息是一项常见的任务,这包括但不限于内存信息、硬盘信息、网卡编号以及硬盘ID等。这些信息对于系统监控、性能分析和日志记录等场景非常有用。下面,我们将深入探讨如何使用C#来获取这些关键的...
在C#中,可以使用`ManagementObjectSearcher`查询`Win32_Processor`类来获取CPU信息。 7. **Bios ID**:BIOS ID是BIOS固件的唯一标识,包含版本信息和生产日期。同样,通过WMI的`Win32_BIOS`类可以获取到这个信息。...
通过上述方法,我们可以在ASP.NET环境中获取到电脑的CPU序列号和硬盘编号,为我们的应用增加更多的功能和安全性。在实际项目中,可能还需要对获取的数据进行进一步处理和存储,以便后续使用。同时,为了提高代码的可...
获取CPU编号(GetCpu) CPU编号也是生成唯一注册码的一个关键因素。此方法用于获取CPU的唯一标识符。 #### 实现原理 - 同样利用`System.Management`命名空间。 - 创建一个`ManagementClass`实例,指定为"win32_...
在计算机硬件信息获取方面,C#编程提供了多种方法来获取电脑的硬件信息,如CPU编号、主板编号、硬盘编号、BIOS编号等。下面将详细介绍C#编程获取这些硬件信息的方法。 获取CPU编号 使用ManagementClass类可以获取...
0721 如何获取CPU编号 446 0722 如何获取显示设备的PNPDeviceID 447 0723 如何获取声音设备的PNPDeviceID 447 0724 如何获取硬盘编号 447 0725 如何获取CPU的版本信息 448 0726 如何获取CPU的产品名称...
根据给定的信息,我们可以深入探讨如何使用C#来读取计算机硬件信息,特别是关于CPU、硬盘序列号等关键数据。 ### 一、概述 在现代软件开发中,有时候需要读取计算机的硬件信息来实现某些功能,比如进行授权管理、...
在本文中,我们将深入探讨如何使用C#语言和.NET Framework来获取机器的硬件信息,包括机器名、CPU编号、主硬盘编号以及BIOS和MAC地址。 首先,为了获取这些信息,我们需要引入`System.Management`命名空间,该命名...
C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...
273 实例190 获取窗口文本 273 实例191 判断文件是否正在被使用 274 实例192 在程序中调用.HLP文件 275 实例193 C#中实现文件拖放 276 实例194 文件比较 276 第7章 操作系统与Windows...
实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...
实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统启动后经过的时间 351 实例257 系统已经安装的打印机信息 352 ...