C# 获取硬件参数的实现方法

C# 获取硬件参数的实现方法

示例代码:

private static string GetIdentifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
    {
      string result = "";
      System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
      System.Management.ManagementObjectCollection moc = mc.GetInstances();
      foreach (System.Management.ManagementObject mo in moc)
      {
        if (mo[wmiMustBeTrue].ToString() == "True")
        {
          //Only get the first one
          if (result == "")
          {
            try
            {
              result = mo[wmiProperty].ToString();
              break;
            }
            catch
            {
            }
          }
        }
      }
      return result;
    } 

    private static string GetIdentifier(string wmiClass, string wmiProperty)
    {
      string result = "";
      System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
      System.Management.ManagementObjectCollection moc = mc.GetInstances();
      foreach (System.Management.ManagementObject mo in moc)
      {
        //Only get the first one
        if (result == "")
        {
          try
          {
            result = mo[wmiProperty].ToString();
            break;
          }
          catch
          {
          }
        }
      }
      return result;
    } 

// cpu id
GetIdentifier("Win32_Processor", "UniqueId"); 

//processor id
GetIdentifier("Win32_Processor", "ProcessorId"); 

//processor name
GetIdentifier("Win32_Processor", "Name"); 

//Manufacturer
GetIdentifier("Win32_Processor", "Manufacturer"); 

//BIOS Identifier
    private static string GetBiosId()
    {
      return GetIdentifier("Win32_BIOS", "Manufacturer")
      + GetIdentifier("Win32_BIOS", "SMBIOSBIOSVersion")
      + GetIdentifier("Win32_BIOS", "IdentificationCode")
      + GetIdentifier("Win32_BIOS", "SerialNumber")
      + GetIdentifier("Win32_BIOS", "ReleaseDate")
      + GetIdentifier("Win32_BIOS", "Version");
    }
    //Main physical hard drive ID
    private static string GetDiskId()
    {
      return GetIdentifier("Win32_DiskDrive", "Model")
      + GetIdentifier("Win32_DiskDrive", "Manufacturer")
      + GetIdentifier("Win32_DiskDrive", "Signature")
      + GetIdentifier("Win32_DiskDrive", "TotalHeads");
    }
    //Motherboard ID
    private static string GetBaseId()
    {
      return GetIdentifier("Win32_BaseBoard", "Model")
      + GetIdentifier("Win32_BaseBoard", "Manufacturer")
      + GetIdentifier("Win32_BaseBoard", "Name")
      + GetIdentifier("Win32_BaseBoard", "SerialNumber");
    }
    //Primary video controller ID
    private static string GetVideoId()
    {
      return GetIdentifier("Win32_VideoController", "DriverVersion")
      + GetIdentifier("Win32_VideoController", "Name");
    }
    //First enabled network card ID
    private static string GetMacId()
    {
      return GetIdentifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");
    }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 详解C#使用AD(Active Directory)验证内网用户名密码

    详解C#使用AD(Active Directory)验证内网用户名密码 1. 连到内网,找到AD的domain地址 nslookup set types=all _ldap._tcp 2. 验证AD的函数 public bool ADLogin(string userName, string password) { // sample : // LDAP://xxx.com string domain = System.Configuration.ConfigurationManager.App

  • C#集合类用法实例代码详解

    下面介绍C#的集合类 1ArrayList using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 动态数组ArrayList { class Program { static void Main(string[] args) { ArrayList

  • C#编写一个简单记事本功能

    本文实例为大家分享了C#编写记事本的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;

  • C# 判断时间段是否相交的实现方法

    C# 判断时间段是否相交的实现方法 1. 判断两个起止时间是否相交: public static bool IsTimeBetween(TimeSpan input, TimeSpan start, TimeSpan end, bool fromInclusice, bool toInclusive) { //http://stackoverflow.com/questions/592248/how-can-i-check-if-the-current-time-is-between-in-a-

  • C#微信分享代码

    本文实例为大家分享了C#微信分享的具体代码,供大家参考,具体内容如下 微信分享代码,先引入: <script type="text/javascript" charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"></script> 获取签名: mui.ajax('/apijson/wxsign', { type: 'get', data: {

  • 微信小程序支付之c#后台实现方法

    微信小程序支付c#后台实现 今天为大家带来比较简单的支付后台处理 首先下载官方的c#模板(WxPayAPI),将模板(WxPayAPI)添加到服务器上,然后在WxPayAPI项目目录中添加两个"一般处理程序" (改名为GetOpenid.ashx.pay.ashx) 之后打开business目录下的JsApiPay.cs,在JsApiPay.cs中修改如下两处 然后在GetOpenid.ashx中加入代码如下: public class GetOpenid : IHttpHandler

  • C# 获取硬件参数的实现方法

    C# 获取硬件参数的实现方法 示例代码: private static string GetIdentifier(string wmiClass, string wmiProperty, string wmiMustBeTrue) { string result = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.M

  • python执行shell获取硬件参数写入mysql的方法

    本文实例讲述了python执行shell获取硬件参数写入mysql的方法.分享给大家供大家参考.具体分析如下: 最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python执行shell获取这些信息,python执行shell脚本有以下三种方法: 1. os.system() 复制代码 代码如下: os.system('ls') #返回结果0或者1,不能得到

  • 使用jquery获取url以及jquery获取url参数的实现方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识 2.jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情 首先看看单纯的通过javascript是如何来获取url中的某个参数 function getUrlParam(name) { va

  • js中获取URL参数的共用方法getRequest()方法实例详解

    下面通过一段代码给大家介绍js中获取URL参数的共用方法getRequest()方法,具体代码如下所示: getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&am

  • Js+Jq获取URL参数的集中方法示例代码

    JQ取值方法: jquery本身也不存在取得URL参数的方法,但是已经存在插件,可以直接取得URL等参数 插件连接主页:https://github.com/allmarkedup/jQuery-URL-Parser 下载链接:http://download.github.com/allmarkedup-jQuery-URL-Parser-bb2bf37.zip Examples of use Using the current page's url (for these examples ht

  • 基于JavaScript获取url参数2种方法

    这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要跳转的页面?参数1=" rel="external nofollow" +值1+"&参数2="+值2 来进行页面跳转并传值. 那么在跳转过去的页面怎样在<script>中获取到传过来的参数呢? 下面是小编的一个案例: //参数传出页面 wi

  • WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)

    今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取某部分的硬件信息就不用写一个一个的函数,比如获取MAC地址就写一个获取MAC地址的函数,获取CPU 信息就写一个获取CPU信息的函数,太麻烦了 如下是函数代码: 复制代码 代码如下: private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)      

  • SpringMVC获取请求参数实现方法介绍

    目录 一.通过ServletAPI获取 二.通过控制器方法的形参获取请求参数 三.@RequestParam 四.@RequestHeader 五.@CookieValue 六.通过POJO获取请求参数 七.解决获取请求参数的乱码问题 我们已经学习过@RequestMapping了,学的属性可能比较多,但是我们常用的也就value和method.所以说我们已经可以把我们的浏览器发送的请求和控制器方法来创建映射关系了. 一.通过ServletAPI获取 将HttpServletRequest作为控

  • SpringMVC实现获取请求参数方法详解

    目录 1.通过ServletAPI获取 2.通过控制器方法的形参获取请求参数 3.@RequestParam 4.@RequestHeader 5.@CookieValue 6.通过POJO获取请求参数 7.解决获取请求参数的乱码问题 1.通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 <a th:href="@{/testServletAPI(username=

  • SpringMVC获取请求参数笔记整理

    目录 前言 一.使用ServletAPI获取参数 二.通过控制器方法的形参获取请求参数 三.@RequestParam 四.@RequestHeader 五.@CookieValue 六.通过实体类的形参获取参数 前言 本篇文章目的是为了学习.记录和分享博主在学习 Spring MVC过程中的笔记.同时也希望本篇文章能够帮助屏幕前的你! 一.使用ServletAPI获取参数 通过 HttpServletRequest 当作形参,此时 HttpServletRequest 类型的参数表示封装了当前

随机推荐