2016-10-13 11 views
0

Embedded MicroコントローラとCの世界からwxWidgetsを使用してC++に移行しました。wxWidgetsでHIDAPIをポーリングする方法を教えてください。

私はcodeblocksとwxWidgetsを使って、signal11のHIDAPIを使って作成したUSB Hidデバイスとインターフェイスするための簡単なGUIプログラムを作成しました。

簡単なボタンを使用して、デバイス上のファームウェアソフトウェアバージョンを接続、切断、チェックすることができます。私が行うことができるようにしたいどのような

は、デバイスが存在であるかどうかGUIが自動的に検出持っているので、私は自分のデバイスを取り外した場合GUIは(グレーのすべてを)応答するかにプラグイン時に再びすべてを可能にします。

これは、達成するために決して終わりのないスレッドが必要なものか、それとも良い方法ですか?私は通常、マイクロコントローラの割り込みルーチンでこのようなことをしますが、デスクトッププラットフォームでは同等の機能が不明ですか?

+0

はい、それはおそらく、USBの接続/切断についてGUIに通知する、決して終わらないスレッドが必要です。 – Igor

答えて

0

USBデバイスの接続と切断はwxWidgetsで処理されないため、プラットフォーム固有のAPIを使用する必要があり、プラットフォームによって異なります。 Windowsでは、これらの通知をWindows WM_DEVICECHANGEメッセージの形式で受け取るため、実際にはバックグラウンドスレッドは必要ありません。したがって、以前にWindowsにRegisterDeviceNotification()を使用してこれらのメッセージを送信するよう依頼したウィンドウでMSWHandleMessage()を単純に上書きすることができます。彼らはそこにいる。