国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JS通過WMI獲取客戶端硬件信息

2024-09-06 12:40:55
字體:
供稿:網(wǎng)友
通過wmi來實現(xiàn)獲取客戶端計算機硬件及系統(tǒng)信息:

1//系統(tǒng)信息獲取
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 //內(nèi)存信息
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 //系統(tǒng)信息
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}

代碼實現(xiàn)主要包括這幾部分:

先通過new activexobject ("wbemscripting.swbemlocator"); 訪問到wbemscripting對象。
通過locator.connectserver("."); 連接我們本地電腦(.代表本地電腦,當然
也可以訪問其他計算機)。
通過service.execquery("select * from win32_processor")這個類似sql的語句(其實系統(tǒng)信息也是存儲在計算中一個類似數(shù)據(jù)庫的文件中)獲取我們需要的對象的記錄集。
通過new enumerator來創(chuàng)建一個可枚舉的對象,下面就可以遍歷取信息了。
注意:運行的前提是要修改瀏覽器安全設(shè)置,“允許對未標記為可安全執(zhí)行的activex
腳本的運行”。


這里主要取了cpu、內(nèi)存及系統(tǒng)用戶幾個信息,大家利用wmi的api或者借助jsedit獲取
到更多的信息。下面列出了常用信息的類:

win32_processor // cpu 處理器

win32_physicalmemory // 物理內(nèi)存

win32_keyboard // 鍵盤

win32_pointingdevice // 點輸入設(shè)備,如鼠標

win32_diskdrive // 硬盤驅(qū)動器

win32_cdromdrive // 光盤驅(qū)動器

win32_baseboard // 主板

win32_bios // bios 芯片

win32_parallelport // 并口

win32_serialport // 串口

win32_sounddevice // 多媒體設(shè)置

win32_usbcontroller // usb 控制器

win32_networkadapter // 網(wǎng)絡(luò)適配器

win32_networkadapterconfiguration // 網(wǎng)絡(luò)適配器設(shè)置

win32_printer // 打印機

win32_printerconfiguration // 打印機設(shè)置

win32_printjob // 打印機任務(wù)

win32_tcpipprinterport // 打印機端口

win32_potsmodem // modem

win32_potsmodemtoserialport // modem 端口

win32_desktopmonitor // 顯示器

win32_videocontroller // 顯卡細節(jié)。

win32_videosettings // 顯卡支持的顯示模式。

win32_timezone // 時區(qū)

win32_systemdriver // 驅(qū)動程序

win32_diskpartition // 磁盤分區(qū)

win32_logicaldisk // 邏輯磁盤

win32_logicalmemoryconfiguration // 邏輯內(nèi)存配置

win32_pagefile // 系統(tǒng)頁文件信息

win32_pagefilesetting // 頁文件設(shè)置

win32_bootconfiguration // 系統(tǒng)啟動配置

win32_operatingsystem // 操作系統(tǒng)信息

win32_startupcommand // 系統(tǒng)自動啟動程序

win32_service // 系統(tǒng)安裝的服務(wù)

win32_group // 系統(tǒng)管理組

win32_groupuser // 系統(tǒng)組帳號

win32_useraccount // 用戶帳號

win32_process // 系統(tǒng)進程

win32_thread // 系統(tǒng)線程

win32_share // 共享

win32_networkclient // 已安裝的網(wǎng)絡(luò)客戶端

win32_networkprotocol // 已安裝的網(wǎng)絡(luò)協(xié)議

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}
24
25function 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}
44
45function 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}
62
63function 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>");
82}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 百色市| 石台县| 云霄县| 兴和县| 定远县| 利津县| 通化县| 城固县| 鄂尔多斯市| 西宁市| 高阳县| 美姑县| 乾安县| 平舆县| 开封市| 浦城县| 中阳县| 南和县| 石楼县| 济源市| 湟中县| 沈阳市| 富锦市| 乌恰县| 阜宁县| 贵德县| 淮阳县| 东阿县| 大方县| 丹凤县| 台湾省| 五家渠市| 巨鹿县| 甘孜县| 祁连县| 获嘉县| 永清县| 于都县| 丰顺县| 余庆县| 都江堰市|