私のコードでは、次の値を設定しています。
public SerialPort comPort = new SerialPort();
comPort.PortName = portName;
PortName
たとえば、COM17にすることができます。
ここで、GUIを介して2つのデバイスを追加した場合(両方ともCOM17)、1つは最終的に例外をスローします(COM17へのアクセスが拒否されました)。次に、どのデバイスがそのCOMポートに接続されているかを確認したいので、アプリケーションがそれを認識した場合は、ポートを介してコマンドを送信できます。認識されていない場合は、GUIのオプションが無効になります。
それで、インストール時にデータベースに保存できるCOMポートから一意の情報を取得する方法はありますか?
編集:明確にするために、間違ったデバイスがそのCOMポートに接続されている場合(インストールした場合を除く)、エラーが発生します。私はそのエラーを見つけたので、それが正しいものではないことを知っています。しかし、私はむしろそれがどのデバイスであるかを知りたいです。2つのドライバDLLが含まれていて、2つの異なるデバイスがあり、誰かがそれらを切り替えたとします。次に、私のアプリケーションは正しい名前をチェックして確認できるため、エラーをスローしてユーザーに再インストールする必要があると言うのではなく、インストールされたオブジェクトのCOMポートを変更するだけでよいと結論付けます。