2

ユーザーがキーを押したかどうかを検出するにはどうすればよいか、C++ CLI アプリケーションを作成しています。私はそれをC#で見ましたが、C ++でどのように実装できますか

while(1)
     {
      while(/* code to check if any key is pressed*/)
           {        //rest of the code
                    // sleep function
           }
     }

ヒント: CLI ゲームのように、キーが押されたときに移動したり、特定のアクションを実行したり、入力がない場合は何もしません。

4

3 に答える 3

0

Windowsでは、少なくともGetKeyStateを使用できます

于 2012-11-04T10:05:44.313 に答える
-1

ループは CPU を消費する可能性がありますが、ビジー待機方法はお勧めしません。代わりに、イベント フックを検討する必要があります。

ここでは、 C++ Win32 キーボード イベントをフックする winapi キーストローク イベントについて読むことができます。

while ループを使用したい場合は、条件が false であることを確認した後、スリープしていくつかのリソースを解放する必要があります (例: nanosleep )。

于 2012-11-04T11:31:08.953 に答える