搜尋
首頁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),curUserceil(system.TotalPhysicalMemory/1024/1024),curUser=system.system,cpuCount=. 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_ParallelPort // 並口

Win32_SerialPort // 串列埠

Win32_SoundDevice // 多媒體設定
Win32_SoundDevice // 多媒體設定
Win32_SoundDevice //AController // 網路介面卡

Win32_NetworkAdapterConfiguration // 網路介面卡設定

Win32_Printer // 印表機

Win32_PrinterConfigurationer // 印表機

Win32_PrinterConfigu 印表機設定>
Win32_TCPIPPrinterPort // 印表機連接埠

Win32_POTSModem // MODEM

Win32_POTSModemToSerialPort // MODEM 埠

Win32_VideoSettings // 顯示卡支援的顯示模式。

Win32_TimeZone // 時區

Win32_SystemDriver // 驅動程式

Win32_DiskPartition // 磁碟分割

Win32_DiskPartition // 磁碟區

Winmeicalo
Win32_PageFile // 系統頁文件信息

Win32_PageFileSetting // 頁文件設置

Win32_BootConfiguration // 系統啟動配置

Win32_OperatingSystem / / 作業系統資訊

Win32_StartupCommand // 系統自動啟動程式

Win32_Service // 系統安裝的服務

Win32_Group // 系統管理群組
Win32_UserAccount // 使用者帳號

Win32_Process // 系統行程

Win32_Thread // 系統程式


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 = 新枚舉器(屬性);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("" p.Caption "");
document.write("" p.DeviceID "");
document.write("" p.Name "");
document.write("" p.CpuStatus "");
document.write("" p.Availability "");
document.write("" p.Level "");
document.write("" p.ProcessorID "");
document.write("" p.SystemName "");
document.write("" p.ProcessorType "");
document.write("");
}
document.write("");
}

function Button2_onclick() {// 繪圖資訊
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");
var e = 新枚舉器(屬性);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("" p.Caption "");
document.write("" p.Description "");
document.write("" p.Drive "");
document.write("" p.Status "");
document.write("" p.MediaLoaded "");
document.write("");
}
document.write("");
}

function Button3_onclick() {//鍵盤資訊
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard");
var e = 新枚舉器(屬性);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("" p.Description "");
document.write("" p.Name "");
document.write("" p.Status "");
document.write("");
}
document.write("");
}

function Button4_onclick() {//主機板資訊
var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
var e = 新枚舉器(屬性);
document.write("");
for (;!e.atEnd();e.moveNext ())
{
var p = e.item ();
document.write("");
document.write("" p.HostingBoard "");
document.write("" p.Manufacturer "");
document.write("" p.PoweredOn "");
document.write("" p.Product "");
document.write("" p.SerialNumber "");
document.write("" p.Version "");
document.write("");
}
document.write("");
}


另外,通過以下方式也可以獲得系統的相關信息:
複製代碼 程式碼如下:

WMI 腳本 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客户端发布和

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

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

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

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

如何在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尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),