原理是利用ActiveX对象访问Windowsmanagement Instrumentation (WMI) ,所以代码目前也只能在以IE为内核的浏览器中正常运行,如果要运行在其他内核的浏览器中,那么可通过PPAPI、NPAPI等相关技术实现。

一、ActiveX + WMI方式

以下是获取cpu的部分属性,Win32_Processor就是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>");

硬件标识及属性

部分标识列举如下:

Win32_Processor                        // CPU 处理器Win32_PhysicalMemory                   // 物理内存Win32_Keyboard                         // 键盘Win32_PointingDevice                   // 点输入设备,如鼠标Win32_DiskDrive                        // 硬盘驱动器Win32_CDROMDrive                       // 光盘驱动器Win32_BaseBoard                        // 主板Win32_BIOS                             // BIOS 芯片Win32_ParallelPort                     // 并口Win32_SerialPort                       // 串口Win32_SoundDevice                      // 多媒体设置Win32_USBController                    // USB 控制器Win32_NetworkAdapter                   // 网络适配器Win32_NetworkAdapterConfiguration      // 网络适配器设置Win32_Printer                          // 打印机Win32_PrinterConfiguration             // 打印机设置Win32_PrintJob                         // 打印机任务Win32_TCPIPPrinterPort                 // 打印机端口Win32_POTSModem                        // MODEMWin32_POTSModemToSerialPort            // MODEM 端口Win32_DesktopMonitor                   // 显示器Win32_VideoController                  // 显卡细节。Win32_VideoSettings                    // 显卡支持的显示模式。Win32_TimeZone                         // 时区Win32_SystemDriver                     // 驱动程序Win32_DiskPartition                    // 磁盘分区Win32_LogicalDisk                      // 逻辑磁盘Win32_LogicalMemoryConfiguration       // 逻辑内存配置Win32_PageFile                         // 系统页文件信息Win32_PageFileSetting                  // 页文件设置Win32_BootConfiguration                // 系统启动配置Win32_OperatingSystem                  // 操作系统信息Win32_StartupCommand                   // 系统自动启动程序Win32_Service                          // 系统安装的服务Win32_Group                            // 系统管理组Win32_GroupUser                        // 系统组帐号Win32_UserAccount                      // 用户帐号Win32_Process                          // 系统进程Win32_Thread                           // 系统线程Win32_Share                            // 共享Win32_NetworkClient                    // 已安装的网络客户端Win32_NetworkProtocol                  // 已安装的网络协议

完整的硬件标识和硬件具有的属性值可参见MSDN

中文版:Win32_DiskDrive 类 - Win32 apps | Microsoft Docs

英文版:Win32_Processor class - Win32 apps | Microsoft Docs

繁体版:Win32_DiskDrive 類別 - Win32 apps | Microsoft Docs

WMI资料:Windows Management Instrumentation - Win32 apps | Microsoft DocsWindows Management Instrumentation - Win32 apps | Microsoft Docs

二、NPAPI

三、PPAPI

使用JavaScript获取硬件参数信息相关推荐

  1. Javascript获取页面、屏幕尺寸大小参数

    Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clien ...

  2. 如何读取电脑html信息,JavaScript 获取客户端计算机硬件及系统信息

    JavaScript 获取客户端计算机硬件及系统信息 //系统信息获取 function getSysInfo() { var locator =new ActiveXObject ("Wb ...

  3. JavaScript获取时间戳与时间戳转化

    Javascript 获取当前时间戳(毫秒级别): 第一种方法: var timestamp1 = Date.parse( new Date()); 结果:1470220594000 第二种方法: v ...

  4. javascript获取网页URL地址及参数等

    2019独角兽企业重金招聘Python工程师标准>>> 用javascript获取url网址信息 Java代码 <script type="text/javascri ...

  5. JavaScript获取当前根目录

    JavaScript获取当前根目录 主要用到Location 对象,包含有关当前 URL 的信息,是 Window 对象的一个部分,可通过 window.location 属性来访问.方法一 (win ...

  6. [轉]JavaScript获取HTML DOM父,子,临近节点

    在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式.内容等.如何获取要更新的元素,是首先要解决的问题.令人欣慰的是,使用JavaScript获取节点的方法有很 ...

  7. Javascript 获取浏览器窗口中文档(视口)可用尺寸的方法

    摘要: 由于浏览器的差异,许多信息的获取都要考虑兼容性,窗口中文档可用尺寸是一个经常需要用到的信息,由于浏览器不同甚至版本不同,获取的方法也不一样,本文介绍的函数能够兼容各种浏览器,获取这一信息.同时 ...

  8. Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用

    Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用 1 获取硬件核心基础核心基础Wmi1 2 其他资料2 3 Wmic WMI 命令行接口2 4 Atitit.获取主板 ...

  9. html+设置img+src属性值,javascript获取、设置修改img的src属性(get/setAttribute)

    在开发网站过程中,事先就设置好了图片img的src性,一般来说很少修改这个属性,网站加载时直接显示事先设置好的图片.但如果网页要求实现滚屏加载图片(动态加载图片),也就是一次不显示网页内的所有图片,当 ...

最新文章

  1. (iOS)sqlcipher和FMDB的使用总结(原创)
  2. Myeclipse 10 使用之修改字体
  3. C#编码规范(3):常用变量和控件在变量命名中缩写
  4. CentOS 5.9 yum安装LAMP(Apache+MySQL+PHP)
  5. HTML用户点击新建按钮,html – 需要点击按钮
  6. )类 新建javafx程序时_关于JavaFX杂谈
  7. c语言string最大长度,求3个字符串中最长单词的长度 求救 会一个的
  8. 个人项目总结----By Li Zhang
  9. python连接hive kerberos_数据库开发实战教程:使用Python连接Kerberos的Presto
  10. 十六进制数相加校验和计算程序
  11. H264--语法及结构--2
  12. 双线macd指标参数最佳设置_手机mt4平台怎么使用macd双线指标
  13. Simulink电力系统仿真-三相短路
  14. 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)
  15. PSCC2019常用基础操作
  16. libcef-框架架构中概念介绍-进程-线程-引用计数-字符串等(一)
  17. maven项目中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found问题的解决方案
  18. 机房动环监控系统厂家品牌
  19. 原创超简单代码(1.20)
  20. 市场调研—全球及中国活化部分凝血活酶时间测试(APTT测试)行业研究及十四五规划分析报告

热门文章

  1. 公众号运营出路在哪?粉丝圈社区破局全攻略
  2. VideoToolbox硬件编解码H.264视频流错误码
  3. JS格式化日期。根据一年中的周,获取周的日期范围。
  4. FFmpeg开发(三):音频播放器的实现
  5. mx550相当于什么水平 mx550独显相当于GTX什么级别
  6. 黏包现象和HTTP协议
  7. Github上的600多个iOS开源类库
  8. Java编程教程大全
  9. 2021 第十二届 蓝桥杯 双向排序 题解 栈+文艺平衡树
  10. 基于Astar算法的栅格地图最优路径搜索matlab仿真,可以修改任意数量栅格