1

Charles Petzold の著書 "Programming Windows" で、彼は次のように述べています。

「GetKeyState には注意してください。これはリアルタイムのキーボード ステータス チェックではありません。むしろ、現在処理中のメッセージまでのキーボード ステータスを反映しています。」

「しないでくださいwhile(GetKeyState(VK_F1) >= 0);」、プログラムがハングアップすることが保証されています。

これらがまったくわかりません。誰かがこれら2つの事実について説明してくれませんか.

4

1 に答える 1

4

を呼び出すなどして、キューに入れられたキーボード メッセージを読み取るたびGetMessageに、OS は呼び出しスレッドに関連付けられたプライベート キーボード状態データを更新します。GetKeyState そのプライベート キーボードの状態データを呼び出すと、返されたキーの状態を判断するために使用されます。したがって、キューに入れられた別のメッセージを読み取らない限り、GetKeyStateは常に同じ値を返します。

于 2012-05-09T19:13:46.610 に答える