技术标签: 系统硬件 前端 javascript 开发语言
原理是利用ActiveX对象访问Windowsmanagement Instrumentation (WMI) ,所以代码目前也只能在以IE为内核的浏览器中正常运行,如果要运行在其他内核的浏览器中,那么可通过PPAPI、NPAPI等相关技术实现。
以下是获取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 // 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 // 已安装的网络协议
完整的硬件标识和硬件具有的属性值可参见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
# coding: utf-8import collectionsimport numpy as npimport osfrom sklearn.neighbors import NearestNeighborsdef cos(vector1,vector2): dot_product = 0.0; normA = 0.0; normB = 0.0; ...
loadrunner: 三大功能: 1:录制编写脚本,使用c语言2:场景设置,也就是压力测试3:结果分析,同时出性能测试报告loadrunner 压力测试三个场景: 1:对页面做压力测试,一般使用web_url函数与2: 对接口进行压力测试,一般使用可web_submit_data 函数3: 对场景进行压力测试,也就业页面加接口的逻辑首先loadrunner有post何get方法: get :方法...
RadioButton(单选按钮)在Androi发中应用的非常广泛,比如一些选择项的时候,会用到单选按钮。它是一种单个圆形单选框双状态的按钮,可以选择或不选择。在RadioButton没有被选中时,用户能够按下或点击来选中它。但是,与复选框相反,用户一旦选中就不能够取消选中。 实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用.RadioG
抽象基类的作用就是,让父类中的方法不可实例化,只能继承。但子类想要继承父类中的方法必须实现该方法,看如下代码。代码cat test.py #/usr/bin/env python#coding:utf8from abc import ABCMeta,abstractmethodclass Fish(): __metaclass__ = ABCMeta @abstractmethod def swim(self): print '游泳'fish = F
目录结构:pom.xml文件1 2 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">5 ...
我正在尝试从以下网址下载图像:这是堆栈跟踪:03-21 12:58:04.040: W/System.err(7084): java.lang.NullPointerException03-21 12:58:04.040: W/System.err(7084): at libcore.net.http.HttpConnection$Address.hashCode(HttpConnecti...
启动两个线程, 一个输出1,3,5,7,9....99,另一个输出2,4,6,8....100,最后在terminal中输出1,2,3,4,5,6.....100java 线程实现/*** 多线程并发的时候需要通过一个锁来进行wait和notify控制线程的唤醒和等待*/Object lock = new Object();/*** lambda代码块只能操作lambda代码块外的final变量,...
初学者每次提到Array对象的时候有些烦人,有些方法是改变原数组的,有些则不改变原数组。有趣的存在~forEach这个方法,或者说数组存储的数据本身看两个例子:例子一: let obj = {'1':1} let oldArr = ['1',1,obj,true] oldArr.forEach((el)=>{ el = 1 }) co...
Linux环境搭建docker-selenium来运行UI自动化前沿:我们一般做UI自动化的时候,是在需要浏览器进行驱动跑我们的用例,但是如果我们要统一把用例放到服务端(Linux系统)下运行,是没有界面,无法运行。随着技术的发展,出现了docker,相应的有针对docker-selenium.接着我们来实现怎么在Linux环境下运行selenium脚本。1.在Linux环境下,我们首先要搭建do...
组件:分三步创建组件:var myComponent = Vue.extend({ template:'<div>This is my first component</div>'});注册组件:Vue.component('firstcomponent',firstcomponent);使用组件<first...
步骤1:打开考生文件夹下的“需求评审会.docx”素材文件。步骤2:根据题目要求,单击【文件】选项卡下的“另存为”按钮,弹出“另存为”对话框,在该对话框中将“文件名”设置为“评审会会议秩序册”,将其保存于考生文件夹下。(2)【解题步骤】考点提示:本题主要考核页面格式的设置。步骤1:单击【页面布局】选项卡下的【页面设置】组中的对话框启动器按钮。弹出“页面设置”对话框,切换至“纸张”选项卡,在“纸张大...
在移动端页面使用canvas的动画,为了实现动画的触摸滑动,会加入createjs.Touch.enable(stage, true, false)这条语句,但加入这条语句后,页面的input和click等可点击事件都会失效,所以会用触摸事件来实现相关功能,如下:$('#button').on('touchstart', functio...