`
guojingxf
  • 浏览: 67376 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C#获取本地硬件信息

阅读更多

类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#实现获取本地电脑硬件信息工程项目

    在C#中获取硬件信息主要涉及以下几个核心知识点: 1. **ManagementObjectSearcher类**:这是.NET Framework中System.Management命名空间的一部分,用于执行WMI(Windows Management Instrumentation)查询。WMI是...

    C#获取本地计算机的硬件信息源代码

    在C#编程中,获取本地计算机的硬件信息是一项常见的任务,尤其在开发系统管理或监控应用时非常有用。本文将详细讲解如何利用C#来获取这些信息,并通过WinForm界面展示出来。 首先,我们需要了解可以获取的硬件信息...

    原创 C#获取计算机各种硬件设备的序列号

    总结来说,C#中获取计算机硬件设备序列号主要依赖于.NET Framework提供的管理对象,通过WMI接口与操作系统交互。这些方法能够帮助开发者获取到计算机的关键硬件信息,从而实现特定的功能。需要注意的是,由于权限...

    c#获取本地IP、本地MAC

    在C#中,可以使用System.Net.NetworkInformation命名空间下的类来获取本地IP地址。例如,`System.Net.Dns.GetHostEntry("localhost")`或`IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName())`方法可以...

    使用C#获取本地MAC地址

    在C#中,我们通常使用.NET框架提供的System.Net.NetworkInformation命名空间来获取这些信息。 以下是一个简单的C#代码示例,展示如何获取本地计算机的MAC地址: ```csharp using System.Net.NetworkInformation; ...

    C#获取本地主机IPmac地址

    根据给定文件的信息,我们可以总结出以下详细的C#知识点及相关代码示例,这些知识点主要涉及如何在C#中获取本地主机以及远程主机的IP地址和MAC地址。 ### 一、获取本地主机IP地址 #### 1. 使用 `Dns.GetHostName()...

    C# 硬件ID获取

    下面将详细介绍如何在C#中获取硬件ID,以及系统和IP地址等信息。 首先,获取硬件ID通常涉及到读取Windows操作系统提供的硬件信息。其中最常用的硬件ID来源是硬盘的序列号和网卡的MAC地址。以下是如何获取这两个信息...

    C#读取本地硬件信息方法

    在C#编程中,获取本地硬件信息是常见的需求,这有助于开发者进行系统诊断、设备管理或者软件定制。本文将详细讲解如何使用C#语言来读取本地计算机的硬件信息,特别是通过`DiskID32`这个标签所指向的硬盘ID。 `...

    取得本地机器硬件信息的C#小程序

    在编程领域,获取本地计算机的硬件信息是一项常见的任务,尤其对于系统管理和监控软件来说更为重要。C#作为.NET框架下的主流编程语言,提供了丰富的API和类库来帮助开发者实现这一功能。本文将深入探讨如何使用C#来...

    C#枚举本地计算机硬件设备

    在这个场景中,"C#枚举本地计算机硬件设备"指的是使用C#语言来获取并列举本地计算机上的硬件设备资源。这涉及到操作系统交互、设备驱动程序接口以及系统管理服务的使用。 首先,要枚举本地计算机的硬件设备,你需要...

    获取本机软件、硬件、服务信息传输到服务器

    例如,从注册表中获取已安装软件列表,可能就需要解析键值对来确定软件名称、版本等信息。 2. **获取硬件信息**:这包括CPU型号、内存大小、硬盘容量等。这些信息可以通过Windows Management Instrumentation (WMI)...

    C# 获取硬件源代码

    这个应用可以在Visual Studio 2005及更高版本环境下运行,用于展示如何在C#环境中获取上述硬件信息。对于学习和理解C#与系统硬件交互的开发者来说,这是一个宝贵的资源。 总的来说,C#通过强大的库和API提供了获取...

    C#获取计算机硬件信息,非常详细!

    在C#编程中,获取计算机硬件信息是一项常见的任务,这对于系统监控、性能分析或设备管理软件的开发至关重要。本文将详细讲解如何使用C#来获取包括显卡、硬盘和内存等在内的硬件信息。 首先,我们需要了解C#中的几个...

    C# 通过IP或计算机名 获取信息

    在C#中,可以使用`System.Net.NetworkInformation`命名空间中的`Ping`类和`IPAddress`类来获取本地或远程计算机的IP地址。 - 例如,`Ping`类的`Send`方法可以用来向指定计算机发送一个ICMP回显请求,并返回`...

    本地打印机获取与设置

    首先,`获取本地打印机列表`是开发中常见的需求,它允许程序动态地识别并列出用户电脑上安装的所有可用打印机。在Windows系统中,这是通过调用如`EnumPrinters`或`GetDefaultPrinter`等API函数实现的。`EnumPrinters...

    window中使用C#获取硬盘序列号

    WMI是微软提供的一种标准的管理系统和应用程序的方法,它可以获取到计算机系统的各种信息,包括硬件信息。 以下是一个简单的C#代码示例,演示了如何获取本地计算机的硬盘序列号: ```csharp using System; using ...

    C#使用简单三层实现获取本地计算机硬件信息以及使用ADO.net操作数据库、用户权限控制、条件筛选、Excel导出、单例模式等功能

    这是一个使用C#简单三层的架构、实现获取本地计算机硬件信息的demo、用到的基础知识点有: 1、三层架构的开发思想、以及层次之间的引用关系 2、ADO.NET对数据库的操作 3、单例模式 4、C#中的API获取计算机硬件信息 5...

    基于C#的获取本地CPU的编号(WMI应用)

    在C#中,我们可以通过System.Management命名空间提供的ManagementObjectSearcher类来查询WMI信息。以下是一个简单的示例代码,展示了如何获取本地CPU的编号: ```csharp using System; using System.Management; ...

    C# 系统操作时用到的获取CPU信息

    在C#编程中,获取系统硬件信息,特别是CPU信息,是一项常见的任务,这有助于开发者监控系统性能、优化程序运行或创建系统监控工具。本资源提供了一个实例,名为“实例80 如何获取CPU信息”,旨在教授如何利用C#语言...

    获取计算机信息(C#)

    在C#中获取CPU ID并不直接,通常需要借助P/Invoke调用Windows API函数,如`GetLogicalProcessorInformation`,或者使用第三方库如`SharpCPUID`来获取这些详细信息。 现在,让我们看看`Computer_Info`这个压缩包中的...

Global site tag (gtag.js) - Google Analytics