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 相关文章推荐
JS模拟面向对象全解(二、类型与赋值)
Jul 13 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
node前端开发模板引擎Jade的入门
May 11 Javascript
JavaScript常用工具函数大全
May 06 Javascript
关于JavaScript轮播图的实现
Nov 20 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
js中对象和面向对象与Json介绍
2019/01/21 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
门卫岗位安全职责
2013/12/13 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
干部考察材料范文
2014/12/24 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
运动会宣传稿100字
2015/07/23 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python