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 相关文章推荐
非常不错的一个javascript 类
Nov 07 Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
EasyUI加载完Html内容样式渲染完成后显示
Jul 25 Javascript
Bootstrap模态框调用功能实现方法
Sep 19 Javascript
zTree获取当前节点的下一级子节点数实例
Sep 05 Javascript
Vue表单demo v-model双向绑定问题
Jun 29 Javascript
JS 数组随机洗牌的实例代码
Sep 12 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 Javascript
Vue实现日历小插件
Jun 26 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
vue下载二进制流图片操作
Oct 26 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
【COS正片】蕾姆睡衣cos,纯洁可爱被治愈了 cn名濑弥七
2020/03/02 日漫
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
两个Javascript小tip资料
2010/11/23 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
python实现kNN算法
2017/12/20 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python多进程并行代码实例
2019/09/30 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
工程现场管理求职自荐信
2013/10/02 职场文书
大一新生军训时的自我评价分享
2013/12/05 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
数学教育专业求职信
2014/07/22 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
大学生军训感言
2015/08/01 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书