c# - 如何捕获因USB电缆被拔出而消失的串口

标签 c# winforms serial-port

我有一个 c# winforms 程序,它打开了一个串口。当最终用户拔下 USB 电缆然后设备消失时,就会出现问题。在此之后程序将崩溃并想向微软报告错误。

有没有办法捕获这个事件并优雅地关闭?

最佳答案

是的,有一种方法可以捕获事件。不幸的是,从设备被移除到程序收到任何通知之间可能会有很长的延迟。

方法是捕获诸如 ErrorReceived 之类的 com 端口事件并捕获 WM_DEVICECHANGE 消息。

不确定你的程序为什么会崩溃;您应该查看堆栈以了解发生这种情况的位置。

关于c# - 如何捕获因USB电缆被拔出而消失的串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/286184/

相关文章:

c# - HttpResponse、HttpRequest、网络客户端

java - 如何使用串行事件监听器接收JSON对象?

c++ - 识别连接 USB 到 RS422 连接器的 COM 端口名称的逻辑(对于 Windows 应用程序))

python - 重启电脑后Linux串口中的C乱码

c# - 跟踪保存在 "live"进度条中的数据库的进度 asp.net mvc

c# - WPF 'Set property ' System.Windows.ResourceDictionary.DeferrableContent' 抛出异常。'

C#:询问用户密码,然后将其存储在 SecureString 中

c# - 在 Windows 窗体的 Web 浏览器控件中从 PDF 中获取选定的文本

c# - 为什么在路径中找不到异常 SignTool.exe?

c# - 仅打开特定图像到图片框而不打开文件对话框