Windowsシリアルポートから読み込むためにWin32 ReadFileを呼び出しています。私のデバイスが接続されていない場合、ReadFileはまだ成功を返します。デバイスへの接続が失われているかどうかを確認するにはどうすればよいですか?私はメッセージを送信し、応答を得ない、またはデバイスイベントを聞くことでこれを行うことができますが、それ以上の簡単な方法はありますか?Windowsでデバイスのプラグが抜かれたために既存のシリアル接続が失われているかどうかを検出します。
0
A
答えて
2
シリアルポートは、シリアルポートに何かが接続されているか接続されていないかをデバイスに依存しない方法で知ることができないという点でダムです。このため、シリアルポートを使用するほとんどのデバイスは、何らかの通信プロトコルをサポートしています。これにより、何かが接続されているかどうかを判断できます。
0
言語によっては、シリアルデバイスによってデバイス変更イベントが発生するかどうかは確かではありません。テストするタイミングはありません。
しかしPNPがそれをピックアップする場合、私はあなたがバンそこからWmiCodeクリエータ
Imports System
Imports System.Management
Imports System.Windows.Forms
Namespace WMISample
Public Class WMIReceiveEvent
Public Overloads Shared Function Main() As Integer
Try
Dim query As New WqlEventQuery(_
"SELECT * FROM Win32_DeviceChangeEvent")
Dim watcher As New ManagementEventWatcher(query)
Console.WriteLine("Waiting for an event...")
Dim eventObj As ManagementBaseObject = watcher.WaitForNextEvent()
Console.WriteLine("{0} event occurred.", eventObj("__CLASS"))
' Cancel the event subscription
watcher.Stop()
Return 0
Catch err As ManagementException
MessageBox.Show("An error occurred while trying to receive an event: " & err.Message)
End Try
End Function
End Class
End Namespace
から
をしようと、さらにシステムから追加または削除されたものを絞り込みます。 しかし、デバイスが接続されていない状態でマシンが起動された可能性はほとんどありません。
どちらの方法でも、私はすべての通信プロトコルで、適切な通信エラーの引き渡しが不可欠であることをお勧めします。接続されているかどうかを確認する際にソケットが切断されたことを保証できないという事実に似ています。
関連する問題
- 1. iPhoneデバイスがデバッグ目的のためにマシンに接続されているかどうかを検出する
- 2. Philips Hueライトのプラグが抜かれていないかどうかを検出できますか?
- 3. iPhoneのプラグが抜かれているときに検出する
- 4. HTTPプロトコルは、サーバー側から接続が失われるたびに検出をサポートしていますか?
- 5. 接続が失われたことをどのように検出できますか?
- 6. スピーカーが接続されているかどうかを検出しますか?
- 7. クライアント側からSignalRで接続が失われていることを検出しました。
- 8. TCP接続が失われたときの検出
- 9. Python3.6 Sanicを使用してウェブソケットで「接続が失われました」を検出できますか?
- 10. SSH接続が失われました
- 11. Mongoosejsでは、DB接続のタイムアウトを検出して設定する方法が失われていますか?
- 12. ヘッドフォンがJavaのヘッドフォンジャックに接続されているかどうかを検出
- 13. VB6でSysInfoコントロールを使用してUSBデバイスのプラグ/プラグが外されたことを検出する
- 14. Xamarin.Forms - 任意のデバイス接続が失われた
- 15. Firebaseに接続が検出されませんでしたか?
- 16. Buetoothが接続されているかどうかを検出するには?
- 17. C#/ Javaソケット接続が失われましたか?
- 18. iPhoneとSQLite - データベース接続が失われましたか?
- 19. iosでインターネット接続が5秒間失われている間にTCP接続が失われたことを検出する方法
- 20. ウェブカメラが接続されたWindows Mobileデバイス
- 21. Android - 別のハードウェアに接続されているデバイスを検出しますか?
- 22. コマンドラインでコンピュータに接続されているデバイスを検出しますか?
- 23. NSURLConnection "ネットワーク接続が失われました"というエラー?
- 24. ノードjsで接続の検出に失敗しましたか?
- 25. iPadのアプリケーションでBluetoothデバイスが接続されているかどうかを検出
- 26. Android:低速センサー(プラグが抜かれている場合のみ)
- 27. USBがiPhoneデバイスに接続されているかどうかを検出する
- 28. Cの接続が失われた
- 29. ヘッドフォンのプラグが抜かれたときのイベントはありますか?
- 30. Jetty WebSocketで接続が失われたことを検出する方法
DSRハードウェア信号を確認してください。 –