如何获取CPU序列号、硬盘序列号, BS模式的!!    要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。

解决方案 »

  1.   

    如何获取CPU序列号、硬盘序列号, BS模式的!!     要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。兄弟也在找啊
      

  2.   

    利用WbemScripting.SWbemLocator
    具体:
    获取硬盘信息:Win32_DiskDrive,参见
    http://msdn.microsoft.com/zh-cn/library/aa394132.aspx;
    获取CPU信息:Win32_Processor,参见
    http://msdn.microsoft.com/zh-cn/library/aa394373.aspx
      

  3.   

    /// <summary> 
            /// HardDiskVal 的摘要说明。 
            /// 读取指定盘符的硬盘序列号 
            /// 功能:读取指定盘符的硬盘序列号 
            /// </summary> 
            public class HardDiskVal
            {
                [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            );            /// <summary>             /// 获得盘符为drvID的硬盘序列号,缺省为C             /// </summary>             /// <param name="drvID"></param>             /// <returns></returns>             public string HDVal(string drvID)
                {                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();            }            public string HDVal()
                {                const int MAX_FILENAME_LEN = 256;                int retVal = 0;                int a = 0;                int b = 0;                string str1 = null;                string str2 = null;                int i = GetVolumeInformation(                "c:\\",                str1,                MAX_FILENAME_LEN,                ref retVal,                a,                b,                str2,                MAX_FILENAME_LEN                );                return retVal.ToString();            }        }
            /// <summary>
            /// 读取设备
            /// </summary>
            public class run
            {
                private ManagementClass mc;
                private ManagementObjectCollection moc;
                private ManagementObject disk;
                public run()
                { }
                /// <summary>
                /// 取得设备网卡的MAC地址
                /// </summary>
                public string GetNetCardMacAddress()
                {
                    mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    moc = mc.GetInstances();
                    string str = "";
                    foreach (ManagementObject mo in moc)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                            str = mo["MacAddress"].ToString();                }
                    return str;
                }
                /// <summary>
                /// 取得设备硬盘的卷标号
                /// </summary>
                /// <returns></returns>
                public string GetDiskVolumeSerialNumber()
                {
                    mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
                    disk.Get();
                    return disk.GetPropertyValue("VolumeSerialNumber").ToString();
                }
            }
      

  4.   

    真是囸鬼了,都已经说了,11楼还贴没用的代码,
    干脆我给一段现成的吧:
    大家可以结合我10楼提供的资料自由发挥封装一下
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <html> 
       <head> 
          <title>javascript获得客户端硬件信息</title> 
       <script id="getHwInfos"  type="text/JavaScript"> 
    function getCpuInfor() {//CPU 信息 
       var locator = new ActiveXObject("WbemScripting.SWbemLocator"); 
       var service = locator.ConnectServer("."); 
       var properties = service.ExecQuery("SELECT * FROM Win32_Processor"); 
       var e = new Enumerator(properties); 
       document.write("<table border=1>"); 
       for (;!e.atEnd();e.moveNext ()) 
       { 
          var p = e.item (); 
          document.write("<tr>"); 
          document.write("<td>Caption:" + p.Caption + "</td>"); 
          document.write("<td>DeviceID:" + p.DeviceID + "</td>"); 
          document.write("<td>Name:" + p.Name + "</td>"); 
          document.write("<td>ProcessorID:" + p.ProcessorID + "</td>"); 
          document.write("</tr>"); 
       } 
       document.write("</table>"); 

       
       function getHddInfo() {//硬盘序列号 信息 
       var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 
       var service = locator.ConnectServer("."); 
       var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive"); 
       var e = new Enumerator (properties); 
       document.write("<table border=1>"); 
       for (;!e.atEnd();e.moveNext ()) 
       { 
          var p = e.item (); 
                var _sn = p.SerialNumber;
                if(!_sn)_sn = "无法获取SerialNumber";
          document.write("<tr>"); 
          document.write("<td>SerialNumber:" + _sn + ",Signature:" + p.Signature + "</td>"); 
          document.write("</tr>"); 
       } 
       document.write("</table>"); 
    } </script> 
    </head> 
       <body> 
          <input id="Button1" type="button" value="Button" 
    name="GetCpuInfo" onclick="return getCpuInfor()"> 
    <input id="btnGetHddInfo" type="button" value="GetHddInfo" onclick="return getHddInfo()" />
       </body> 
    </html> 
      

  5.   

    接10楼:
    获取软驱:Win32_FloppyDrive
    获取CD:Win32_CDROMDrive
    获取主板:Win32_BaseBoard
    获取键盘:Win32_Keyboard
    还有很多
    具体参见:
    http://msdn.microsoft.com/zh-cn/library/aa389273.aspx
      

  6.   

    public static void GetCpuInfo(out string cpuInfo) 

    //得到cpu信息 
    string _cpuInfo="";//cpu信息 
    ManagementClass cimobject = new ManagementClass("Win32_Processor"); 
    ManagementObjectCollection moc = cimobject.GetInstances(); 
    foreach(ManagementObject mo in moc) 

    _cpuInfo = mo.Properties["ProcessorId"].Value.ToString();

    cpuInfo=_cpuInfo; 

    //获取硬盘ID 
    string _HDInfo=""; 
    ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); 
    ManagementObjectCollection moc1 = cimobject1.GetInstances(); 
    foreach(ManagementObject mo in moc1) 

    _HDInfo = (string)mo.Properties["Model"].Value;} 
    HDInfo=_HDInfo; 
    }public static void GetMacAddress(out string MacAddress) 

    //获取网卡硬件地址
    string _MacAddress=""; 
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
    ManagementObjectCollection moc2 = mc.GetInstances(); 
    foreach(ManagementObject mo in moc2) 

    if((bool)mo["IPEnabled"] == true) 
    MacAddress=mo["MacAddress"].ToString(); 
    mo.Dispose(); 

    MacAddress=_MacAddress; 
    }
      

  7.   

    javascript   +     FileSystemObject 
    var   fso   =   CreateObject( "Scripting.FileSystemObject ") 
          var   drs   =   fso.Drives; 
          for(var   i=0;i <drs.length;i++) 
        {           
              d.DriveLetter   ;         
              d.DriveType   ; 
              d.VolumeName; 
        }