Windowsシステム上の接続されているUSBデバイスの包括的なリストへのアクセス
効率的なハードウェア管理には、接続された周辺機器の検査と対話が必要になることがよくあります。 ユビキタスであるUSBデバイスは、在庫、診断、またはその他の管理タスクにプログラマティックアクセスを必要とすることがよくあります。 Windowsは、この情報を取得するためのいくつかの方法を提供します。強力なアプローチの1つは、Windows Management Instrumentation(WMI)フレームワークを使用することです。
WMIは、接続されたUSBデバイスの完全な画像を含む、詳細なシステムとハードウェア情報を提供します。 これには、プロジェクトにアセンブリを組み込む必要があります。 次のC#コードの例は、このデータを取得する方法を示しています。
System.Management
このコードは、query "select * from win32_usbhub"をquery "select *" select * select *を使用してa
<code class="language-csharp">using System; using System.Collections.Generic; using System.Management; // Requires adding System.Management to project references namespace USBDeviceEnumeration { class Program { static void Main(string[] args) { List<USBDeviceInfo> usbDevices = GetUSBDevices(); foreach (USBDeviceInfo device in usbDevices) { Console.WriteLine($"Device ID: {device.DeviceID}, PNP Device ID: {device.PnpDeviceID}, Description: {device.Description}"); } Console.ReadKey(); } static List<USBDeviceInfo> GetUSBDevices() { List<USBDeviceInfo> devices = new List<USBDeviceInfo>(); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_USBHub")) using (ManagementObjectCollection collection = searcher.Get()) { foreach (ManagementObject device in collection) { devices.Add(new USBDeviceInfo( (string)device.GetPropertyValue("DeviceID"), (string)device.GetPropertyValue("PNPDeviceID"), (string)device.GetPropertyValue("Description") )); } } return devices; } } class USBDeviceInfo { public USBDeviceInfo(string deviceID, string pnpDeviceID, string description) { DeviceID = deviceID; PnpDeviceID = pnpDeviceID; Description = description; } public string DeviceID { get; private set; } public string PnpDeviceID { get; private set; } public string Description { get; private set; } } }</code>
、ManagementObjectSearcher
、およびManagementObject
を抽出します。 結果として得られるDeviceID
オブジェクトは、デバイス管理やシステム診断など、さまざまなアプリケーションの包括的なデータを提供します。 このWMIアプローチは、Windows環境内の接続されたUSBデバイスの完全なリストを取得するための堅牢で効率的な方法を提供します。
以上がWMIを使用してWindowsで接続されたUSBデバイスの包括的なリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。