###前提・実現したいこと
Aキーを押すと一度だけ「Aキーが押されました」と表示させたいです。
###発生している問題・エラーメッセージ
- 押している時間に比例してメッセージが出てしまいます。
Aキーが押されました Aキーが押されました Aキーが押されました Aキーが押されました Aキーが押されました Aキーが押されました ...
###該当のソースコード
C++
1#include <Windows.h> 2#include <iostream> 3 4using namespace std; 5 6int main() 7{ 8 while (true) 9 { 10 if (GetAsyncKeyState('A')) 11 { 12 cout << "Aキーが押されました" << endl; 13 } 14 } 15 16 return 0; 17}
###試したこと
- Sleep(300) を入れる
Aキーをちょこんと押した場合は一回だけメッセージが出ますが、
Aキーを押している時間に比例してメッセージが出てしまいます。
また、タイミング次第ではメッセージが出ない場合があります。
C++
1#include <Windows.h> 2#include <iostream> 3 4using namespace std; 5 6int main() 7{ 8 while (true) 9 { 10 if (GetAsyncKeyState('A')) 11 { 12 cout << "Aキーが押されました" << endl; 13 } 14 Sleep(300); 15 } 16 17 return 0; 18}
###補足情報(言語/FW/ツール等のバージョンなど)
- Visual Studio 2017 Community
- C++
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/11 12:38
退会済みユーザー
2017/06/11 12:42
2017/06/11 13:27 編集