私は、プログラムの開始時にすべての入力デバイスを(直接入力を使用して)列挙するC++プログラムを持っています。プログラムが起動し、別のコントローラを接続した場合、このコントローラはプログラムが再起動されるまで認識されません。誰でも私が使用できるイベントを知っているので、新しいものが接続された後に私のプログラムがすべてのデバイスを列挙するようになります。DirectInputを使ってジョイスティックを接続した後に信号を受信する
6
A
答えて
2
This articleでは、ゲームパッドの変更を検出する方法について説明しています。まず、WM_DEVICECHANGE
メッセージを処理し、DBT_DEVICEARRIVAL
またはDBT_DEVICEREMOVECOMPLETE
についてwParam
をチェックしてください。 WPARAM
として受信するには、RegisterDeviceNotification
を最初に呼び出す必要があります。
次のようにこれを行う方法の記事の例は次のとおりです。
DEV_BROADCAST_DEVICEINTERFACE notificationFilter;
ZeroMemory(¬ificationFilter, sizeof(notificationFilter));
notificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
notificationFilter.dbcc_size = sizeof(notificationFilter);
HDEVNOTIFY hDevNotify;
hDevNotify = RegisterDeviceNotification(m_hWnd, ¬ificationFilter,
DEVICE_NOTIFY_WINDOW_HANDLE |
DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
if(hDevNotify == NULL) {
// do some error handling
}
このため最小サポートOSがXPであるということであるため、あなたが適切に配置する必要があるので、注意すべき唯一の他の事Windowsヘッダーを含める前には#define
です。
あなたがやりたいことに応じて、この関数を最初に呼び出す必要はないかもしれません。代わりに、DBT_DEVNODES_CHANGED
をチェックするだけで、接続されているデバイスと接続されていないデバイスを区別することができます。あなたが気にしないなら、それはいくつかのコードを保存することができます。
関連する問題
- 1. Udp接続を使用してデータグラムを受信する
- 2. 接続後にサーバーがデータを受信する
- 3. RxJS - nを受信した後に値を受信します
- 4. C++とDirectInputのUSBジョイスティック
- 5. iOS MQTTは再接続後にメッセージを受信しません。
- 6. プッシュャーは再接続後にイベントを受信しません
- 7. データ受信後にHTTP接続を閉じる
- 8. 接続解除後にArduinoからデータを受信し続ける
- 9. ベースクラス信号を継承クラススロットに接続
- 10. smpp接続を介してsmsを受信する方法 - Kannel
- 11. 受信したメッセージをクライアントで直接処理する(netio-frameworkを使って)。
- 12. 未知のピアから受信した着信SIP接続
- 13. 受信したメモリ警告。レベル= 2、プログラム受信信号: "0"
- 14. Socket.io - 最後に接続されたユーザーはデータを受信しません
- 15. 失敗した信号/スロット接続をデバッグする方法は?
- 16. パケット(PCAP、WLAN、C)を受信者に送信し、接続せずに受信する
- 17. 残り信号を使用した信号信号
- 18. RxJSはイベントを受信しますが、後でイベントリスナーを接続します
- 19. Djangoは、ユーザーが信号を使って作成した後にウェルカムメールを送信します。
- 20. Curlがローカルファイルを呼び出して、最初のビットを受信した後に接続を閉じる
- 21. casablancaを使用して受信を受信するC++ rest sdk
- 22. Apache Camel:200を受信した後TCP接続が閉じない理由
- 23. PyQtウィザードでページを表示した後の信号の接続方法?
- 24. openglアプリケーションソケット接続からのデータの受信/受信?
- 25. クライアントからサーバへの接続のみの受信の受信
- 26. netcatを使ってファイルを送信し、接続を維持するには?
- 27. Qt - トリガされたアクションで信号/スロットを接続する
- 28. ファントム4に接続しましたが、ビデオを受信していません
- 29. Flex Builderデバッガで受信デバッグセッション接続の受信を開始させる
- 30. ノードサーバのセグメンテーションフォルト(コアダンプ)、ウェブソケット接続要求を受信したとき
それはそれを行うように見えます!ありがとう! – Magn3s1um