-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
66 lines (56 loc) · 2.5 KB
/
Program.cs
File metadata and controls
66 lines (56 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System.Management;
namespace DeviceScanner
{
public class Program
{
static void Main(string[] args)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity");
foreach (ManagementObject device in searcher.Get())
{
// Display device information
Console.WriteLine("Device:");
Console.WriteLine(" Name: " + device["Name"]);
Console.WriteLine(" Description: " + device["Description"]);
Console.WriteLine(" Manufacturer: " + device["Manufacturer"]);
Console.WriteLine(" Status: " + device["Status"]);
Console.WriteLine(" DeviceID: " + device["DeviceID"]);
string classification = "Unknown";
if (device["Description"] != null)
{
string description = device["Description"].ToString().ToLower();
if (description.Contains("usb") || description.Contains("external"))
{
classification = "External";
}
else if (description.Contains("internal"))
{
classification = "Internal";
}
}
Console.WriteLine(" Classification: " + classification);
PropertyData hardwareIds = device.Properties["HardwareID"];
if (hardwareIds != null && hardwareIds.Value != null)
{
string[] hardwareIdArray = (string[])hardwareIds.Value;
Console.WriteLine(" Hardware IDs:");
foreach (string hardwareId in hardwareIdArray)
{
Console.WriteLine(" " + hardwareId);
}
}
PropertyData compatibleIds = device.Properties["CompatibleID"];
if (compatibleIds != null && compatibleIds.Value != null)
{
string[] compatibleIdArray = (string[])compatibleIds.Value;
Console.WriteLine(" Compatible IDs:");
foreach (string compatibleId in compatibleIdArray)
{
Console.WriteLine(" " + compatibleId);
}
}
Console.WriteLine("---------------------------------------");
}
}
}
}