javascript 硬盘序列号+其它硬件信息

  看了看别的资料有提取CPU,MAC的现成代码却没有硬盘序列号,找了好久才找到提取硬盘序列号的参数。于是自己给补上了。

  <html>

  <head>

  <title>提取硬盘序列号</title>

  <script>

  function disk() {//硬盘序列号 信息

   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 ();

      document.write("<tr>");

      document.write("<td>" + p.signature + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  </script>

  </head>

  <body>

  <input type="button" value="硬盘序列号" onclick="disk()">

  </body>

  </html>

  在这上找的代码:

  对于写过ASP或.net 的人来说,通过asp或.net 语言来获得客户端的硬件信息是很熟悉的.但如何通过javascript这种客户端脚本来获得客户端的信息呢?请看以下实例:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

  <html>

   <head>

      <title>javascript获得客户端硬件信息-www.web2bar.cn/</title>

      <meta name="GENERATOR" content="Microsoft Visual Studio .NET

  7.1">

      <meta name="vs_targetSchema"

  content="http://schemas.microsoft.com/intellisense/ie5">

   <script id=clientEventHandlersJS language=javascript>

  <!--

  

  function Button2_onclick() {//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>" + p.Caption + "</td>");

      document.write("<td>" + p.DeviceID + "</td>");

      document.write("<td>" + p.Name + "</td>");

      document.write("<td>" + p.CpuStatus + "</td>");

      document.write("<td>" + p.Availability + "</td>");

      document.write("<td>" + p.Level + "</td>");

      document.write("<td>" + p.ProcessorID + "</td>");

      document.write("<td>" + p.SystemName + "</td>");

      document.write("<td>" + p.ProcessorType + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  

  function Button1_onclick() {//软盘信息

   var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

   var service = locator.ConnectServer(".");

   var properties = service.ExecQuery("SELECT * FROM Win32_FloppyDrive");

   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>" + p.Description + "</td>");

      document.write("<td>" + p.DeviceID + "</td>");

      document.write("<td>" + p.Status + "</td>");

      document.write("<td>" + p.Manufacuturer + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  

  function Button1_onclick() {//CD-ROM 信息

   var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

   var service = locator.ConnectServer(".");

   var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");

   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>" + p.Caption + "</td>");

      document.write("<td>" + p.Description + "</td>");

      document.write("<td>" + p.Drive + "</td>");

      document.write("<td>" + p.Status + "</td>");

      document.write("<td>" + p.MediaLoaded + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  

  function Button1_onclick() {//键盘信息

   var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

   var service = locator.ConnectServer(".");

   var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard");

   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>" + p.Description + "</td>");

      document.write("<td>" + p.Name + "</td>");

      document.write("<td>" + p.Status + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  

  function Button1_onclick() {//主板信息

   var locator = new ActiveXObject ("WbemScripting.SWbemLocator");

   var service = locator.ConnectServer(".");

   var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");

   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>" + p.HostingBoard + "</td>");

      document.write("<td>" + p.Manufacturer + "</td>");

      document.write("<td>" + p.PoweredOn + "</td>");

      document.write("<td>" + p.Product + "</td>");

      document.write("<td>" + p.SerialNumber + "</td>");

      document.write("<td>" + p.Version + "</td>");

      document.write("</tr>");

   }

   document.write("</table>");

  }

  

  //-->

  </script>

  </head>

   <body>

      <INPUT id="Button1" type="button" value="Button"

  name="Button1" language=javascript onclick="return Button1_onclick()">

   </body>

  </html>

  使用javascript方式获得客户端的信息主要的优点是,不需求服务器资源.不需求刷新网页.直接在客户端执行脚本获得显示.

  在这上找到了硬盘序列号的参数:

  \'获得硬盘序列号

  Dim cmicWmi As New System.Management.ManagementObjectSearcher(\"SELECT * FROM Win32_DiskDrive\")

  Dim Uint32 As UInt32

  For Each cmicWmiObj As ManagementObject In cmicWmi.Get

  Uint32 = cmicWmiObj(\"signature\")

  Next

  TextBox1.Text = Uint32.ToString

  和在一块总算给提出来了,呵呵。