检测硬件组件的断开连接/丢失(Windows 7)



场景:关键计算机系统由操作员通过标准USB键盘和鼠标控制。此外,还连接了一个DVI监视器,用于查看以操作员为目标的GUI。计算机系统运行基于Windows 7 Professional或Windows Embedded Standard 7("系统软件")的软PLC系统。

问题:是否有软件解决方案来检测USB HID设备(如键盘或鼠标)和单个DVI显示器的丢失(断开连接/故障)?这一点很重要,因为如果操作员无法操作关键系统或查看显示的内容,就无法再期望关键系统正常工作。

自己的注意事项:这可能需要低级别的WINAPI调用,这很好。我在想,windows服务可能会不断地试图枚举键盘和显示器的数量,甚至可能通过型号或序列号来识别它们。如果该枚举和/或识别达到零或完全失败,系统软件当然必须快速而适当地做出反应(即进入故障模式或类似模式)。

在我看来,这是所有关键操作员控制系统的普遍问题。那么问题来了:也许已经有软件或硬件存在了吗?

注意:操作员始终是人。

唉,至于答案,这只不过是一个"阅读文档"加上一些链接。。。很抱歉

首先,MSDN文档。

  • RegisterDeviceNotification
  • 检测介质插入或取出
  • 与USB设备通话,从开始到结束(Windows应用商店应用程序)

我在CodeProject.com上发现了一个C#类;随附的文章很不错。

  • 在C#程序中检测USB驱动器的删除

我承认我上一次这样做是几年前的事了,而且只是为了CD通知。从那以后,我丢失了代码(我的主硬盘和备份硬盘在几天内相继出现故障,哈哈)。

最新更新