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

Javascript
jQuery代码:jQuery控制表单里的回车键
用DIV完美模拟createPopup 弹出窗口(脚本之家修正版),支持Firefox,ie,chrome
jQuery Flash/MP3/Video多媒体插件
9个JavaScript评级/投票插件
JS实现的radio图片选择按钮效果
IE中checkbox在刷新后初始化的问题
JavaScript 学习笔记(十一)
JS 对象介绍
javascript 哈希表(hashtable)的简单实现
jquery 防止表单重复提交代码
js parsefloat parseint 转换函数
javascript parseInt与Number函数的区别
JavaScript 学习笔记(十二) dom
JavaScript 学习笔记(十三)Dom创建表格
javascript 实现自由落体的方块效果
javascript 获取url参数和script标签中获取url参数函数代码
JAVASCRIPT style 中visibility和display之间的区别
javascript 拖放效果实现代码
jquery last-child 列表最后一项的样式
Jquery实战_读书笔记1—选择jQuery

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 249 ::
收藏到网摘: 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
和在一块总算给提出来了,呵呵。