aardio 文档

aardio 范例: 硬件信息

范例 » COM组件 » WMI » 系统信息

//硬件信息
//范例 » COM组件 » WMI » 系统信息: https://www.aardio.com/zh-cn/doc/example/COM/WMI/SysInfo.html
//范例 » 操作系统 » 系统版本信息: file://aardioexample/System/sysInfo.aardio

import sys.cpu;
import sys.baseBoard;
import sys.display;
import sys.mem;
import sys.volume;
import win.version;

print('系统与硬件信息摘要' 
    + '\n----------------'
    + '\n操作系统: ' + win.version.format() //返回字符串
    + '\nCPU: ' + sys.cpu.getBrand() //返回字符串
    + '\n主板: ' + sys.baseBoard.getFullName() //返回字符串
    + '\n显卡: ' + sys.display.getAdapter().Description
    + '\n内存: ' + sys.mem.getStatus() //可使用连接操作符或 tostring 转为字符串
    + '\n系统分区: ' + sys.volume.getSpaceSize("C:\") //可使用连接操作符或 tostring 转为字符串
    );

import sys.storage;
var hdInfo = sys.storage.queryProperty();//参数可指定设备序号或设备路径,省略参数取系统硬盘信息
print("系统硬盘名称:", hdInfo.productId )
print("系统硬盘序列号:", hdInfo.serialNumber )

import sys.cpu;
print("CPU 当前速度:",sys.cpu.getFrequence(true));

var cpu = sys.cpu.getInfoByWmi()
print(cpu.DeviceID );//输出类似 "CPU0",不适合用来生成机器码
print(cpu.Name);//
print("CPU 核心数:"+ cpu.NumberOfLogicalProcessors);
print("CPU 逻辑核心数:"+ cpu.NumberOfLogicalProcessors);
print("CPU 最大速度:"+ math.round(cpu.MaxClockSpeed/1000,2) + "GHz");
print("CPU 当前速度:"+ math.round(cpu.CurrentClockSpeed/1000,2) + "GHz");
print("CPU 位宽:" + cpu.AddressWidth);

import sys.mem;
print("Total Memory:",sys.mem.getStatus().totalPhysFormatted);

import sys.device;
var devInfo = sys.device(/*"{4d36e96c-e325-11ce-bfc1-08002be10318}"*/,"PCI");
for( index,classGuid,deviceDesc in devInfo.each(
    8/*_SPDRP_CLASSGUID*/,
    0/*_SPDRP_DEVICEDESC*/
    ) ){
    print( index,classGuid,deviceDesc );
}

//查找 USB 网卡
var devices = sys.device("{4d36e972-e325-11ce-bfc1-08002be10318}"/*_GUID_DEVCLASS_NET*/,"USB");
for( index,classGuid,deviceDesc,hardwareId in devices.each(
    8/*_SPDRP_CLASSGUID*/,
    0/*_SPDRP_DEVICEDESC*/,
    1/*_SPDRP_HARDWAREID*/
    ) ){ 

    print( index,classGuid,deviceDesc,hardwareId[1] );
}

//查找视频采集设备,通常指 UVC 视频摄像头
var devInfo = sys.device("{E5323777-F976-4f5b-9B55-B94699C46E44}",,0x12/*_DIGCF_PRESENT|_DIGCF_DEVICEINTERFACE*/);
for( index,classGuid,deviceDesc,hardwareId in devInfo.each(
    8/*_SPDRP_CLASSGUID*/,
    0/*_SPDRP_DEVICEDESC*/,
    1/*_SPDRP_HARDWAREID*/
    ) ){
    print( index,classGuid,deviceDesc,hardwareId[1] );
}
Markdown 格式