类HardInfoClass代码如下
using System;
using System.Net;
using System.Runtime.InteropServices;
using System.Management; //需要在解决方案中引用System.Management.DLL文件
namespace FileTransLate.PCStatus
{
/// <summary>
/// HardInfoClass 的摘要说明。
/// </summary>
public class HardInfoClass
{
[DllImport("kernel32.dll")]
private static extern int GetVolumeInformation(
string lpRootPathName,
string lpVolumeNameBuffer,
int nVolumeNameSize,
ref int lpVolumeSerialNumber,
int lpMaximumComponentLength,
int lpFileSystemFlags,
string lpFileSystemNameBuffer,
int nFileSystemNameSize
);
public HardInfoClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//取机器名
public string GetHostName()
{
return System.Net.Dns.GetHostName();
}
//取CPU编号
public string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null ;
foreach( ManagementObject mo in moc )
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}//end method
//取第一块硬盘编号
public string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null ;
foreach(ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID ;
}
catch
{
return "";
}
}
//获取网卡MAC地址
public string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC= MC.GetInstances();
foreach(ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
//获取硬盘信息的代码
public string GetVolOf(string drvID)
{
try
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a =0;
int b =0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(
drvID + @":\",
str1,
MAX_FILENAME_LEN,
ref retVal,
a,
b,
str2,
MAX_FILENAME_LEN
);
return retVal.ToString("x");
}
catch
{
return "";
}
}
//获取当前网卡IP地址
public string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC= MC.GetInstances();
foreach(ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[]) MO["IPAddress"];
if(IPAddresses.Length > 0)
stringIP = IPAddresses[0].ToString();
}
}
return stringIP;
}
catch
{
return "";
}
}
}
}
引用自:http://blog.csdn.net/xiaotuni/archive/2008/01/05/2027178.aspx
分享到:
相关推荐
在C#中获取硬件信息主要涉及以下几个核心知识点: 1. **ManagementObjectSearcher类**:这是.NET Framework中System.Management命名空间的一部分,用于执行WMI(Windows Management Instrumentation)查询。WMI是...
在C#编程中,获取本地计算机的硬件信息是一项常见的任务,尤其在开发系统管理或监控应用时非常有用。本文将详细讲解如何利用C#来获取这些信息,并通过WinForm界面展示出来。 首先,我们需要了解可以获取的硬件信息...
总结来说,C#中获取计算机硬件设备序列号主要依赖于.NET Framework提供的管理对象,通过WMI接口与操作系统交互。这些方法能够帮助开发者获取到计算机的关键硬件信息,从而实现特定的功能。需要注意的是,由于权限...
在C#中,可以使用System.Net.NetworkInformation命名空间下的类来获取本地IP地址。例如,`System.Net.Dns.GetHostEntry("localhost")`或`IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName())`方法可以...
在C#中,我们通常使用.NET框架提供的System.Net.NetworkInformation命名空间来获取这些信息。 以下是一个简单的C#代码示例,展示如何获取本地计算机的MAC地址: ```csharp using System.Net.NetworkInformation; ...
根据给定文件的信息,我们可以总结出以下详细的C#知识点及相关代码示例,这些知识点主要涉及如何在C#中获取本地主机以及远程主机的IP地址和MAC地址。 ### 一、获取本地主机IP地址 #### 1. 使用 `Dns.GetHostName()...
下面将详细介绍如何在C#中获取硬件ID,以及系统和IP地址等信息。 首先,获取硬件ID通常涉及到读取Windows操作系统提供的硬件信息。其中最常用的硬件ID来源是硬盘的序列号和网卡的MAC地址。以下是如何获取这两个信息...
在C#编程中,获取本地硬件信息是常见的需求,这有助于开发者进行系统诊断、设备管理或者软件定制。本文将详细讲解如何使用C#语言来读取本地计算机的硬件信息,特别是通过`DiskID32`这个标签所指向的硬盘ID。 `...
在编程领域,获取本地计算机的硬件信息是一项常见的任务,尤其对于系统管理和监控软件来说更为重要。C#作为.NET框架下的主流编程语言,提供了丰富的API和类库来帮助开发者实现这一功能。本文将深入探讨如何使用C#来...
在这个场景中,"C#枚举本地计算机硬件设备"指的是使用C#语言来获取并列举本地计算机上的硬件设备资源。这涉及到操作系统交互、设备驱动程序接口以及系统管理服务的使用。 首先,要枚举本地计算机的硬件设备,你需要...
例如,从注册表中获取已安装软件列表,可能就需要解析键值对来确定软件名称、版本等信息。 2. **获取硬件信息**:这包括CPU型号、内存大小、硬盘容量等。这些信息可以通过Windows Management Instrumentation (WMI)...
这个应用可以在Visual Studio 2005及更高版本环境下运行,用于展示如何在C#环境中获取上述硬件信息。对于学习和理解C#与系统硬件交互的开发者来说,这是一个宝贵的资源。 总的来说,C#通过强大的库和API提供了获取...
在C#编程中,获取计算机硬件信息是一项常见的任务,这对于系统监控、性能分析或设备管理软件的开发至关重要。本文将详细讲解如何使用C#来获取包括显卡、硬盘和内存等在内的硬件信息。 首先,我们需要了解C#中的几个...
在C#中,可以使用`System.Net.NetworkInformation`命名空间中的`Ping`类和`IPAddress`类来获取本地或远程计算机的IP地址。 - 例如,`Ping`类的`Send`方法可以用来向指定计算机发送一个ICMP回显请求,并返回`...
首先,`获取本地打印机列表`是开发中常见的需求,它允许程序动态地识别并列出用户电脑上安装的所有可用打印机。在Windows系统中,这是通过调用如`EnumPrinters`或`GetDefaultPrinter`等API函数实现的。`EnumPrinters...
WMI是微软提供的一种标准的管理系统和应用程序的方法,它可以获取到计算机系统的各种信息,包括硬件信息。 以下是一个简单的C#代码示例,演示了如何获取本地计算机的硬盘序列号: ```csharp using System; using ...
这是一个使用C#简单三层的架构、实现获取本地计算机硬件信息的demo、用到的基础知识点有: 1、三层架构的开发思想、以及层次之间的引用关系 2、ADO.NET对数据库的操作 3、单例模式 4、C#中的API获取计算机硬件信息 5...
在C#中,我们可以通过System.Management命名空间提供的ManagementObjectSearcher类来查询WMI信息。以下是一个简单的示例代码,展示了如何获取本地CPU的编号: ```csharp using System; using System.Management; ...
在C#编程中,获取系统硬件信息,特别是CPU信息,是一项常见的任务,这有助于开发者监控系统性能、优化程序运行或创建系统监控工具。本资源提供了一个实例,名为“实例80 如何获取CPU信息”,旨在教授如何利用C#语言...
在C#中获取CPU ID并不直接,通常需要借助P/Invoke调用Windows API函数,如`GetLogicalProcessorInformation`,或者使用第三方库如`SharpCPUID`来获取这些详细信息。 现在,让我们看看`Computer_Info`这个压缩包中的...