Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <Windows.h>
- #include <thread>
- #include <chrono>
- using namespace std;
- HANDLE hstdin;
- int read_key()
- {
- INPUT_RECORD event;
- if (WaitForSingleObject(hstdin, 0) == WAIT_OBJECT_0)
- {
- DWORD count;
- ReadConsoleInput(hstdin, &event, 1, &count);
- if (event.EventType == KEY_EVENT && !event.Event.KeyEvent.bKeyDown)
- {
- switch (event.Event.KeyEvent.wVirtualKeyCode)
- {
- case VK_LEFT:
- cout << "left" << endl;
- break;
- case VK_RIGHT:
- cout << "right" << endl;
- break;
- case VK_UP:
- cout << "up" << endl;
- break;
- case VK_DOWN:
- cout << "down" << endl;
- break;
- }
- }
- }
- return 0;
- }
- int main()
- {
- DWORD mode;
- hstdin = GetStdHandle(STD_INPUT_HANDLE);
- GetConsoleMode(hstdin, &mode);
- SetConsoleMode(hstdin, 0);
- for (;;)
- {
- read_key();
- this_thread::sleep_for(chrono::milliseconds(100));
- }
- SetConsoleMode(hstdin, mode);
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement