搜索
首页web前端js教程JavaScript获取客户端计算机硬件及系统等信息的方法_javascript技巧

JavaScript 获取客户端计算机硬件及系统信息
通过WMI来实现获取客户端计算机硬件及系统信息:

复制代码 代码如下:

function getSysInfo(){
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
//CPU信息
var cpu = new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item();
var cpuType=cpu.Name,hostName=cpu.SystemName;
//内存信息
var memory = new Enumerator (service.ExecQuery("SELECT * FROM Win32_PhysicalMemory"));
for (var mem=[],i=0;!memory.atEnd();memory.moveNext()) mem[i++]={cap:memory.item().Capacity/1024/1024,speed:memory.item().Speed}
//系统信息
var system=new Enumerator (service.ExecQuery("SELECT * FROM Win32_ComputerSystem")).item();
var physicMenCap=Math.ceil(system.TotalPhysicalMemory/1024/1024),curUser=system.UserName,cpuCount=system.NumberOfProcessors

return {cpuType:cpuType,cpuCount:cpuCount,hostName:hostName,curUser:curUser,memCap:physicMenCap,mem:mem}
}

代码实现主要包括这几部分:

先通过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
示例:
复制代码 代码如下:

function button1_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("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" + p.Caption + "" + p.DeviceID + "" + p.Name + "" + p.CpuStatus + "" + p.Availability + "" + p.Level + "" + p.ProcessorID + "" + p.SystemName + "" + p.ProcessorType + "
");
}

function Button2_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("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" + p.Caption + "" + p.Description + "" + p.Drive + "" + p.Status + "" + p.MediaLoaded + "
");
}

function Button3_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("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" + p.Description + "" + p.Name + "" + p.Status + "
");
}

function Button4_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("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
document.write("");
}
document.write("
" + p.HostingBoard + "" + p.Manufacturer + "" + p.PoweredOn + "" + p.Product + "" + p.SerialNumber + "" + p.Version + "
");
}


另外,通过以下方式也可以获得系统的相关信息:
复制代码 代码如下:

WMI Scripting HTML













声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
VMware Horizon Client无法打开[修复]VMware Horizon Client无法打开[修复]Feb 19, 2024 pm 11:21 PM

VMwareHorizon客户端可帮助您便捷地访问虚拟桌面。然而,有时虚拟桌面基础设施可能会遇到启动问题。本文将讨论当VMwareHorizon客户端未能成功启动时,您可以采取的解决方法。为什么我的VMwareHorizon客户端无法打开?在配置VDI时,如果未打开VMWareHorizon客户端,可能会出现错误。请确认您的IT管理员提供了正确的URL和凭据。如果一切正常,请按照本指南中提到的解决方案解决问题。修复未打开的VMWareHorizon客户端如果您的Windows计算机上未打开VMW

VMware Horizon客户端在连接时冻结或停滞[修复]VMware Horizon客户端在连接时冻结或停滞[修复]Mar 03, 2024 am 09:37 AM

在使用VMWareHorizon客户端连接到VDI时,我们可能会遇到应用程序在身份验证过程中冻结或连接阻塞的情况。本文将探讨这个问题,并提供解决这种情况的方法。当VMWareHorizon客户端出现冻结或连接问题时,您可以采取一些措施来解决这一问题。修复VMWareHorizon客户端在连接时冻结或卡住如果VMWareHorizon客户端在Windows11/10上冻结或无法连接,请执行下面提到的解决方案:检查网络连接重新启动Horizon客户端检查Horizon服务器状态清除客户端缓存修复Ho

PHP MQTT客户端开发指南PHP MQTT客户端开发指南Mar 27, 2024 am 09:21 AM

MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,通常用于物联网设备之间的通信。PHP是一种常用的服务器端编程语言,可以用来开发MQTT客户端。本文将介绍如何使用PHP开发MQTT客户端,并包含以下内容:MQTT协议的基本概念PHPMQTT客户端库的选取和使用实例:使用PHPMQTT客户端发布和

百度网盘网页无法启动客户端怎么解决?百度网盘网页无法启动客户端怎么解决?Mar 13, 2024 pm 05:00 PM

  很多朋友下载文件会先在网页上浏览,然后转入客户端下载。但有时用户会遇到百度网盘网页无法启动客户端的问题。针对这个问题,小编为大家准备了百度网盘网页无法启动客户端的解决办法,有需要的小伙伴可以参考一下哦。  解决办法  1、可能百度网盘不是最新版,手动打开百度网盘客户端,点击右上角的设置按钮,再点击版本升级。  如无更新,则会有如下提示,若有更新,请按照提示进行更新。  2、可能禁用了百度网盘的检测服务程序  有可能使我们自己手动或者使用安全软件自动禁用了百度网盘的检测服务程序。  请查看一下

手机客户端是什么手机客户端是什么Aug 16, 2023 pm 01:40 PM

手机客户端是指一种在智能手机上运行的应用程序,通过原生客户端或Web客户端的形式为用户提供各种功能和服务。手机客户端可以分为原客户端和Web客户端两种形式,原生客户端是指使用特定编程语言和开发工具,为特定的操作系统编写的应用程序,Web客户端的优势在于跨平台兼容性好,可以不受操作系统限制在不同设备上运行,但相对于原生客户端,Web客户端的性能和用户体验可能有所降低。

如何在PHP中编写FTP客户端如何在PHP中编写FTP客户端Aug 01, 2023 pm 07:23 PM

如何在PHP中编写FTP客户端一、引言FTP(文件传输协议)是一种用于在网络上进行文件传输的协议。在Web开发中,我们常常需要通过FTP来上传或下载文件。PHP作为一种流行的服务器端语言,提供了强大的FTP功能,使我们可以方便地编写FTP客户端。本文将介绍如何使用PHP编写一个简单的FTP客户端,并提供代码示例。二、连接FTP服务器在PHP中,我们可以使用f

如何移除Win11客户端上方的盾牌标志?如何移除Win11客户端上方的盾牌标志?Jan 05, 2024 am 11:21 AM

部分Win11使用者察觉他们的个人电脑中出现了一些软件图标旁边出现防盾标志的现象。通过此举保障计算机系统乃至其中存储的重要信息和资料免受侵害。如果你不喜欢的话,那么可以通过下面的方法来解决。win11客户端上面的盾牌标志怎么去除1、右键电脑上的任务栏,然后选择“任务管理器”2、再点击上面的“启动”3、在这里找到“Windowsdefender”然后右键选择“禁止”,然后重启电脑就可以了。

win11客户端和服务器不支持常用的sslwin11客户端和服务器不支持常用的sslDec 29, 2023 pm 02:09 PM

如果客户端与服务器均未实现SSL加密技术,极易造成信息在传播过程中遭受中间攻击者的窃取,从而引发严重危害数据安全之隐患。为此,应紧急采取相应措施以有效保障敏感数据安全,可以参考下面的方法来进行操作。win11客户端和服务器不支持常用的ssl1、对服务器系统进行升级改造可以优先考虑对服务器系统进行升级与优化,或者补充所需的必要组件,以确保其能够顺利地支持最新的SSL协议。2、部署SSL证书您可以选购以及部署那些享有盛誉的认证中心发布的SSL证书,将其安装于服务器内即可实现此功能。3、开启SSL协议

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能