在前端开发中,有许多需要获取设备信息的场景,例如设备的型号、厂商等信息。针对这些需求,可以使用 windows.devices.enumeration.pnp
这个 npm 包。
安装
在终端中使用以下命令进行安装:
npm install windows.devices.enumeration.pnp
使用方法
引入包
在代码中引入 windows.devices.enumeration.pnp
:
const { DeviceInformation } = require('windows.devices.enumeration.pnp');
获取设备信息
在获取设备信息前,需要先创建 deviceInformation
对象:
const deviceInformation = new DeviceInformation('System.Devices.InterfaceClassGuid:="{4D36E96C-E325-11CE-BFC1-08002BE10318}"');
其中,System.Devices.InterfaceClassGuid
表示设备接口类 GUID,可根据需要自行修改。下面是一些常用的设备接口类 GUID:
类型 | GUID |
---|---|
所有设备 | {A8DD0BC0-3E1F-11D0-9CB0-00C04FC99C8E} |
显示器 | {4D36E96E-E325-11CE-BFC1-08002BE10318} |
处理器 | {50127DC3-0F36-415E-A6CC-4CB3BE910B65} |
外部设备接口 | {A5DCBF10-6530-11D2-901F-00C04FB951ED} |
音频输入设备 | {6994AD04-93EF-11D0-A3CC-00A0C9223196} |
音频输出、播放设备 | {0A695F7A-5C3E-4EDE-8C34-1EBD609C20F4} |
打印机 | {4D36E979-E325-11CE-BFC1-08002BE10318} |
USB-HID 设备 | {745A17A0-74D3-11D0-B6FE-00A0C90F57DA} |
鼠标、键盘 | {4D36E96F-E325-11CE-BFC1-08002BE10318} |
网络适配器 | {4D36E972-E325-11CE-BFC1-08002BE10318} |
静态磁盘 | {53F56307-B6BF-11D0-94F2-00A0C91EFB8B} |
移动磁盘 | {53F5630D-B6BF-11D0-94F2-00A0C91EFB8B} |
CD/DVD 驱动器 | {4D36E965-E325-11CE-BFC1-08002BE10318} |
音频设备 | {4D36E96C-E325-11CE-BFC1-08002BE10318} |
串行总线控制器 | {4D36E97D-E325-11CE-BFC1-08002BE10318} |
系统存储卷 | {AF9B60A0-1431-4C22-BCD8-F80CBAA1447F} |
接下来,可以使用 getProperty
方法获取设备属性:
const name = await deviceInformation.getProperty('System.ItemNameDisplay'); const manufacturer = await deviceInformation.getProperty('System.Devices.Manufacturer'); const model = await deviceInformation.getProperty('System.Devices.ModelName');
示例代码
下面是一个获取 USB-HID 设备信息的示例代码:
-- -------------------- ---- ------- ----- - ----------------- - - ------------------------------------------- ----- -------- ------------------------- - ----- ----------------- - --- ------------------------------------------------------------ ----- ---- - ----- -------------------------------------------------------- ----- ------------ - ----- ------------------------------------------------------------- ----- ----- - ----- ---------------------------------------------------------- ------------------- ----- ---------- -------------------------- ------------------ ------------------- ----------- - --------------------------
总结
通过上述使用方法,我们可以简单快速地获取设备信息。当然,在实际应用中,还需要结合具体业务需求进行调整和优化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006710c8dd3466f61ffe155