当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 硬盘序列号+其它硬件信息

Javascript
JavaScript中全局变量、函数内变量以及常量表达式的效率测试
写出更好的JavaScript之undefined篇(上)
Javascript 刷新全集常用代码
传智播客学习之java 反射
javascript DOM编程实例(智播客学习)
javascript 在网页中的运用(asp.net)
通过身份证号得到出生日期和性别的js代码
写出更好的JavaScript程序之undefined篇(中)
js获取图片长和宽度的代码
js cookies实现简单统计访问次数
根据鼠标的位置动态的控制层的位置
dropdownlist之间的互相联动实现(显示与隐藏)
javascript select控件间内容互相移动
asp.net下利用js实现返回上一页的实现方法小集
JavaScript 利用StringBuffer类提升+=拼接字符串效率
JS 实现双色表格实现代码
利用JavaScript更改input中radio和checkbox样式
jquery.ui.draggable中文文档
js loading加载效果实现代码
JS 倒计时实现代码(时、分,秒)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 388 ::
收藏到网摘: n/a

给政府做的,完全要求高,居然用硬盘序列号,MAC地址,CPU地址三项来绑定指定的人来操作。 看了看别的资料有提取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
和在一块总算给提出来了,呵呵。