zoukankan      html  css  js  c++  java
  • 如何获取 电脑 的一些硬件信息。用于软件的加密等算法。

    1 //////////////////////////////////////
    2
    3  /////在系统运行之前要在系统上 右键“添加引用”选择“.Net” 里面的 System.Management
    4 /////////////////////////////////////
    5
    6 using System;
    7 using System.Configuration;
    8 using System.Data;
    9 using System.Linq;
    10 using System.Web;
    11 using System.Web.Security;
    12 using System.Web.UI;
    13 using System.Web.UI.HtmlControls;
    14 using System.Web.UI.WebControls;
    15 using System.Web.UI.WebControls.WebParts;
    16 using System.Xml.Linq;
    17 using System.Management; //引用下面两行。
    18 using System.Management.Instrumentation;
    19
    20 public partial class _Default : System.Web.UI.Page
    21 {
    22 protected void Page_Load(object sender, EventArgs e)
    23 {
    24 GetInfo();
    25 }
    26
    27
    28 private void GetInfo()
    29 {
    30
    31
    32 string cpuInfo = "";//cpu序列号
    33 ManagementClass cimobject = new ManagementClass("Win32_Processor");
    34 ManagementObjectCollection moc = cimobject.GetInstances();
    35 foreach (ManagementObject mo in moc)
    36 {
    37 cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
    38 Response.Write("cpu序列号:" + cpuInfo.ToString()+"<br>");
    39 }
    40
    41 //获取硬盘ID
    42 String HDid;
    43 ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
    44 ManagementObjectCollection moc1 = cimobject1.GetInstances();
    45 foreach (ManagementObject mo in moc1)
    46 {
    47 HDid = (string)mo.Properties["Model"].Value;
    48 Response.Write("硬盘序列号:" + HDid.ToString() + "<br>");
    49 }
    50
    51
    52 //获取网卡硬件地址
    53
    54 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    55 ManagementObjectCollection moc2 = mc.GetInstances();
    56 foreach (ManagementObject mo in moc2)
    57 {
    58 if ((bool)mo["IPEnabled"] == true)
    59 Response.Write("MAC address:" + mo["MacAddress"].ToString() + "<br>");
    60 mo.Dispose();
    61 }
    62
    63
    64 //主板
    65 string strbNumber = string.Empty;
    66 ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_baseboard");
    67 foreach (ManagementObject mo in mos.Get())
    68 {
    69 strbNumber += mo["SerialNumber"].ToString();
    70 break;
    71 }
    72
    73 Response.Write("主板序号:"+strbNumber);
    74
    75
    76
    77 }
    78
    79 }

    运行结果:

    cpu序列号:BF************
    硬盘序列号:TOSHIBA ******

    MAC address:**:**:**:**

    主板序号:QTFSFASFASFASF

    类似解决方案,请看:

    http://www.cnblogs.com/zhmvb/archive/2011/06/17/2083575.html

  • 相关阅读:
    大数运算
    混合背包问题
    多重背包问题(二进制优化)
    完全背包
    01背包问题
    树状数组
    构建之法阅读笔记04
    第一次冲刺个人总结07
    构建之法阅读笔记03
    第一次冲刺个人总结06
  • 原文地址:https://www.cnblogs.com/lujin49/p/2102119.html
Copyright © 2011-2022 走看看