注意:(1):遇到“automation服务器不能创建对象”的问题

解决方案:

  1、在“运行”中执行regsvr32 scrrun.dll

  2、安全模式设置成“中”,如果javascript脚本中报这个错误,还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。
  
     (2):只支持IE浏览器
JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息:
1//系统信息获取
2function getSysInfo(){
3 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
4 var service = locator.ConnectServer(".");
5 //CPU信息
6 var cpu = new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item();
7 var cpuType=cpu.Name,hostName=cpu.SystemName;
8 //内存信息
9 var memory = new Enumerator (service.ExecQuery("SELECT * FROM Win32_PhysicalMemory"));
10 for (var mem=[],i=0;!memory.atEnd();memory.moveNext()) mem[i++]={cap:memory.item().Capacity/1024/1024,speed:memory.item().Speed}
11 //系统信息
12 var system=new Enumerator (service.ExecQuery("SELECT * FROM Win32_ComputerSystem")).item();
13 var physicMenCap=Math.ceil(system.TotalPhysicalMemory/1024/1024),curUser=system.UserName,cpuCount=system.NumberOfProcessors
14
15 return {cpuType:cpuType,cpuCount:cpuCount,hostName:hostName,curUser:curUser,memCap:physicMenCap,mem:mem}
16}
代码实现主要包括这几部分: 先通过new ActiveXObject ("WbemScripting.SWbemLocator"); 访问到WbemScripting对象。
通过locator.ConnectServer(".");连接我们本地电脑(.代表本地电脑,当然
也可以访问其他计算机)。
通过service.ExecQuery("SELECT * FROM Win32_Processor")这个类似sql的语句(其实系统信息也是存储在计算中一个类似数据库的文件中)获取我们需要的对象的记录集。
通过new Enumerator来创建一个可枚举的对象,下面就可以遍历取信息了。
注意:运行的前提是要修改浏览器安全设置,“允许对未标记为可安全执行的ActiveX
脚本的运行”。 这里主要取了CPU、内存及系统用户几个信息,大家利用WMI的API或者借助JSEDIT获取
到更多的信息。下面列出了常用信息的类: 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 // MODEM Win32_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 // 已安装的网络协议 WMI Win32类的完整信息及详细列表请参考MSDN:
http://msdn2.microsoft.com/en-us/library/aa394084(VS.85).aspx
示例: 1function button1_onclick() {//cpu 信息
2 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
3 var service = locator.ConnectServer(".");
4 var properties = service.ExecQuery("SELECT * FROM Win32_Processor");
5 var e = new Enumerator (properties);
6 document.write("<table border=1>");
7 for (;!e.atEnd();e.moveNext ())
8 {
9 var p = e.item ();
10 document.write("<tr>");
11 document.write("<td>" + p.Caption + "</td>");
12 document.write("<td>" + p.DeviceID + "</td>");
13 document.write("<td>" + p.Name + "</td>");
14 document.write("<td>" + p.CpuStatus + "</td>");
15 document.write("<td>" + p.Availability + "</td>");
16 document.write("<td>" + p.Level + "</td>");
17 document.write("<td>" + p.ProcessorID + "</td>");
18 document.write("<td>" + p.SystemName + "</td>");
19 document.write("<td>" + p.ProcessorType + "</td>");
20 document.write("</tr>");
21 }
22 document.write("</table>");
23}
24function Button2_onclick() {//CD-ROM 信息
26 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
27 var service = locator.ConnectServer(".");
28 var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");
29 var e = new Enumerator (properties);
30 document.write("<table border=1>");
31 for (;!e.atEnd();e.moveNext ())
32 {
33 var p = e.item ();
34 document.write("<tr>");
35 document.write("<td>" + p.Caption + "</td>");
36 document.write("<td>" + p.Description + "</td>");
37 document.write("<td>" + p.Drive + "</td>");
38 document.write("<td>" + p.Status + "</td>");
39 document.write("<td>" + p.MediaLoaded + "</td>");
40 document.write("</tr>");
41 }
42 document.write("</table>");
43}
44function Button3_onclick() {//键盘信息
46 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
47 var service = locator.ConnectServer(".");
48 var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard");
49 var e = new Enumerator (properties);
50 document.write("<table border=1>");
51 for (;!e.atEnd();e.moveNext ())
52 {
53 var p = e.item ();
54 document.write("<tr>");
55 document.write("<td>" + p.Description + "</td>");
56 document.write("<td>" + p.Name + "</td>");
57 document.write("<td>" + p.Status + "</td>");
58 document.write("</tr>");
59 }
60 document.write("</table>");
61}
62function Button4_onclick() {//主板信息
64 var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
65 var service = locator.ConnectServer(".");
66 var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
67 var e = new Enumerator (properties);
68 document.write("<table border=1>");
69 for (;!e.atEnd();e.moveNext ())
70 {
71 var p = e.item ();
72 document.write("<tr>");
73 document.write("<td>" + p.HostingBoard + "</td>");
74 document.write("<td>" + p.Manufacturer + "</td>");
75 document.write("<td>" + p.PoweredOn + "</td>");
76 document.write("<td>" + p.Product + "</td>");
77 document.write("<td>" + p.SerialNumber + "</td>");
78 document.write("<td>" + p.Version + "</td>");
79 document.write("</tr>");
80 }
81 document.write("</table>");

js获取客户端计算机硬件及系统信息的更多相关文章

  1. JavaScript 获取客户端计算机硬件及系统信息

    1.浏览器信息 //浏览器信息 function BrowserInfo() { var userLanguage = navigator.userLanguage;     // 用户在自己的操作系 ...

  2. JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...

  3. JS获取客户端IP地址、MAC和主机名七种方法

    一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...

  4. JS获取客户端IP地址、MAC和主机名【转】

    JS获取客户端IP地址.MAC和主机名 引用:JS获取客户端IP地址.MAC和主机名的7个方法汇总 利用搜狐接口 <html> <head> <meta http-equ ...

  5. js获取客户端time,cookie,url,ip,refer,user_agent信息:

    <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type=& ...

  6. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  7. js 获取客户端mac地址

    js 获取客户端mac地址 javascript获取客户端网卡MAC地址和IP地址和计算机名 nodesj如何获得客户端的mac地址呢? 浏览器获取MAC地址 不限浏览器的mac地址取得的几种办法 I ...

  8. php/js获取客户端mac地址的实现代码

    这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下   废话不多讲,直接上代码吧! 复制代码 代码如下: <?php   class MacAddr {  ...

  9. js获取客户端MAC地址

    最近遇到一个需求,医院要求呼叫中心账号必须对应MAC地址,也就是说该MAC地址必须和呼叫中心账号对应才可使用,这可就难道我了,这需求就要求每次都判断用户登录的电脑MAC地址是否有呼叫中心账号,当然只针 ...

随机推荐

  1. iOS-OC内存管理

    目标 1.[理解]内存管理 2.[掌握]第一个MRC程序 3.[掌握]内存管理的原则 4.[理解]野指针与僵尸对象 5.[理解]单个对象的内存管理 6.[理解]多个对象的内存管理 7.[掌握]set方 ...

  2. javaweb学习总结(十九)——JSP标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  3. python redis使用

    #!/usr/bin/python #coding=utf-8 import redis class CRedis: def __init__(self): self.host = 'localhos ...

  4. Android 使用Fragment界面向下跳转并一级级返回

    http://www.cnblogs.com/_ymw/p/4227862.html 1.首先贴上项目结构图: 2.先添加一个接口文件BackHandledInterface.java,定义一个set ...

  5. activiti 介绍

    工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程自动进行,从而实现某个预期的业务目标 ...

  6. JavaScript 2016年的概况

    国外的网站stateofjs.com根据超过九千位开发人员的问卷调查,发布了2016年JavaScript的年度概况报名. 注:本文翻译的部分可能存在不准确的情况,请以原文为准. 调查结果的报告目录结 ...

  7. Java蛇形数组的简单实现代码

    上周五和朋友聊天谈到个蛇形数组的java实现办法,命题是:假设一个二维数组宽w高h,从1开始蛇形输出. int[][] numberMatric = new int[w][h]; 当时午睡过头脑袋不清 ...

  8. TStringList中AddObject使用

    结构体定义 PYpType=^TYpType; TYpType=record    yfcode:string;    ypcode:string;    YpUnitPrice:Currency;  ...

  9. Android 使用java.net.socket 的接收问题

    // 初始化socketsocket = new Socket(InetAddress.getByName(sip), sport);InputStream sin = socket.getInput ...

  10. 参数传递的四种形式----- URL,超链接,js,form表单

    什么时候用GET,  查,删, 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...