C#获取连接的设备信息

我正在寻找一种获取有关当前哪些外围设备连接到运行该应用程序的计算机的信息的方法。

外围设备种类:

  • 显示(分辨率,制造商,型号,序列号和/或唯一的设备标识符)

  • 打印机(制造商,型号,序列号和/或唯一的设备标识符)

  • 鼠标(制造商,型号,序列号和/或唯一的设备标识符)

  • 键盘(制造商,型号,序列号和/或唯一的设备标识符)

  • 等等

我尝试了几种WMI类(win32_desktopmonitor,win32_pnpentity,win32_printer等),但是直到现在,我还没有找到可以提供所有搜索数据的api或库。他们要么没有该数据,要么返回空或返回一个通用引用。

此应用程序的主要目的是收集设备信息。

有谁的例子或可以给我一个方向,我需要寻找那些数据的库或API。


潇潇雨雨
浏览 508回答 2
2回答

炎炎设计

有关监视器信息select * from win32_pnpentity where PNPClass = 'Monitor'本地或网络上有2种打印机。对于本地打印机,Win32_Printer将可以使用。但是对于网络打印机,您需要阅读注册表项或运行查询。注册表项具有非常完善的信息。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\Servers\<Printer_Name>\Printers\<Some ID>select * from win32_pnpentity where PNPClass = 'Printer'对于键盘和鼠标信息,无论我们在设备管理器中显示什么,都将在其中找到相同的信息。Win32_PNPEntityselect * from win32_pnpentity where PNPClass = 'Keyboard'select * from win32_pnpentity where PNPClass = 'Mouse'
打开App,查看更多内容
随时随地看视频慕课网APP