0

从嵌入式微控制器和 C 的世界转向使用 wxWidgets 的 C++。

我创建了一个简单的 GUI 程序,使用 codeblocks 和 wxWidgets 与我使用 signal11 中的 HIDAPI 制作的 USB Hid 设备进行交互。

使用简单的按钮,我可以连接、断开连接和检查设备上的固件软件版本。

我想要做的是让 GUI 自动检测设备是否存在,所以如果我拔下我的设备,GUI 会响应(所有内容都变灰)或在插入时重新启用所有内容。

这是需要一个永无止境的线程来实现的东西,还是有更好的方法?我通常会在微控制器上的中断例程中做这样的事情,但不确定它在桌面平台上的等价物吗?

4

1 回答 1

0

wxWidgets 不处理 USB 设备的连接/断开连接,因此您必须为此使用特定于平台的 API,并且它们会因您的平台而异。在 Windows 下,您实际上不需要后台线程,因为您以 WindowsWM_DEVICECHANGE消息的形式收到这些通知,因此您可以简单地覆盖MSWHandleMessage()您之前要求 Windows 发送这些消息以使用RegisterDeviceNotification()并在那里处理它们的窗口。

于 2016-10-15T16:51:50.697 回答