【解決方法】USB ポートを介したデバイスの接続を確認する


私のアプリはキオスク マシンで実行され、USB ポートを介してプリンター、カメラ、重量計、バーコード スキャナーなどの複数のデバイスに接続します。
任意のポートを選択すると、デバイスの接続をチェックします。 現在、接続されているポートを確認することしかできず、どのデバイスであるかを特定できません。

私が試したこと:

下の図のように、2 つのデバイスがあり、キオスクに接続されています。 タッチ スクリーン用に「USB 入力デバイス」ポートを選択し、プリンタ用に別のポートを選択した場合。 「USB入力デバイス」ポートがタッチスクリーンに接続されているがプリンターに接続されていないことを正確に確認する方法。 「USB 入力デバイス」ポートがプリンターの場合、アプリはメッセージを表示します。

https://i.stack.imgur.com/3tzY2.png[^]

解決策 1

C# を使用すると、次のコマンドを実行して、システム上の PnP デバイスを照会できます。

C#
using (var search = new ManagementObjectSearcher(@"Select * From Win32_PnPEntity Where DeviceID Like ""USB%"""))
{
    using (var collection = search.Get())
    {
        foreach (var device in collection)
        {
            Console.WriteLine($"Device ${device.GetPropertyValue("DeviceID")}:");

            foreach (var prop in device.Properties)
                Console.WriteLine($"- ${prop.Name} = ${prop.Value}");
        }
    }
}

これらのプロパティの 1 つは、 Name これは一般に、デバイスの識別子をもう少し便利にします。 完璧ではありませんが、誰かが選択できるドロップダウン リストを作成している場合は、良い出発点になる可能性があります。

コメント

タイトルとURLをコピーしました