Visual Studioを使用してC#で私の初めてのプログラムを作成しています。使用可能なCOMポートがドロップダウンメニューに表示されます。これらの「利用可能な」ポートの1つがプログラムの外で開かれていないかどうかを確認するにはどうすればよいですか?VS C#List Available(未使用)シリアルポート
foreach (string portName in System.IO.Ports.SerialPort.GetPortNames())
{
serialPort1.PortName = portName;
if (serialPort1.IsOpen == false) // Only list if it is not in use - does not work - .IsOpen is only valid from within this app
{
CommsBox.Items.Add(portName);
}
}
私はこれを行うことを望んだが、うまくいかない。
このようなコードは、マルチタスクオペレーティングシステムでは決して確実に動作しません。あなたはOpen()を呼び出すまで見つけることができません。あなたはクリスタルクリアな例外を得るでしょう。 –