From 215a21f9b62aa50d9ca4037ca0a22f5b0920f373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Pazdiora?= Date: Thu, 7 Jan 2021 23:21:33 +0100 Subject: rough GUI integration of "Device Hardware ID" --- grapher/Models/Devices/DeviceList.cs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 grapher/Models/Devices/DeviceList.cs (limited to 'grapher/Models/Devices/DeviceList.cs') diff --git a/grapher/Models/Devices/DeviceList.cs b/grapher/Models/Devices/DeviceList.cs new file mode 100644 index 0000000..9f2b81d --- /dev/null +++ b/grapher/Models/Devices/DeviceList.cs @@ -0,0 +1,33 @@ +using System; +using System.Management; +using System.Collections.Generic; + +namespace grapher.Models.Devices +{ + class DeviceList + { + public static List> GetDeviceHardwareIDs(string PNPClass = "Mouse") + { + var results = new List>(); + + ManagementObjectSearcher searcher = new ManagementObjectSearcher(new SelectQuery("Win32_PnPEntity")); + + foreach (ManagementObject obj in searcher.Get()) + { + if (obj["PNPClass"] != null && obj["PNPClass"].ToString() == PNPClass && obj["HardwareID"] != null) + { + String[] hwidArray = (String[])(obj["HardwareID"]); + if (hwidArray.Length > 0) + { + String hwid = hwidArray[0].ToString(); + String name = obj["Name"].ToString(); + results.Add(Tuple.Create(name, hwid)); + } + } + } + + return results; + } + + } +} -- cgit v1.2.3