0
デバイスに接続されていない利用可能なシリアルポートをプログラム的にチェックしたい。シリアルポートの使用方法を調べる
私は次のコードを試して、使用可能なCOMポートを取得できましたが、使用されているかどうかはわかりません。それをどうやって決めるの? USBとは異なり
TCHAR szComPort[8];
HANDLE hCom = NULL;
for (int i = 1; i <= 10; ++i)
{
if (i < 10)
wsprintf(szComPort, _T("COM%d"), i);
else
wsprintf(szComPort, _T("\\\\.\\COM%d"), i);
hCom = CreateFile(szComPort,
GENERIC_READ|GENERIC_WRITE, // desired access should be read&write
0, // COM port must be opened in non-sharing mode
NULL, // don't care about the security
OPEN_EXISTING, // IMPORTANT: must use OPEN_EXISTING for a COM port
0, // usually overlapped but non-overlapped for existance test
NULL); // always NULL for a general purpose COM port
}
問題を解決するには、次の2つの問題があります。1)シリアルポートがデバイスに接続されているかどうかを確認するにはどのような方法がありますか? 2)その方法を実装するためにどのようなコードを使用しますか?最初の質問に正解はありません。それはあなたの外の問題にかかっていますが、それは言及していません。 –
それは10時に停止しません。接続されていないポートを探すのはかなり無意味です。彼らは何も役に立たないだろう。 –