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


Posted in Javascript onDecember 23, 2008

看了看别的资料有提取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
和在一块总算给提出来了,呵呵。

Javascript 相关文章推荐
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
Jun 05 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
jQuery实现获取隐藏div高度的方法示例
Feb 09 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
微信小程序input框中加入小图标的实现方法
Jun 19 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
一文搞懂ES6中的Map和Set
May 20 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 Javascript
js 解决“options为空或不是对象”
Dec 22 #Javascript
javascript 动态参数判空操作
Dec 22 #Javascript
Javascript 布尔型分析
Dec 22 #Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 #Javascript
javascript StringBuilder类实现
Dec 22 #Javascript
关于IE7 IE8弹出窗口顶上
Dec 22 #Javascript
清除网页历史记录,屏蔽后退按钮!
Dec 22 #Javascript
You might like
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python中内置的日志模块logging用法详解
2016/07/12 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
Python super()方法原理详解
2020/03/31 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
食品安全工作实施方案
2014/03/26 职场文书
四议两公开实施方案
2014/03/28 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
安全生产月标语
2014/10/07 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
python实现Nao机器人的单目测距
2021/09/04 Python
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript