Почему некорректно нажимается кнопка на С++?

Если нажать в блокноте на лкм пишется одна буква, если нажать в любой игре (проверял на 3д и на 2д) кнопка зажимается и не отпускается. Что не так? Строки в комментариях использовал, они никак не повлияли.

#include <windows.h> 
#include <iostream>
#include <winuser.h>


    while (true)
    {
            if (GetAsyncKeyState(0x01))
            {
                if (i == 0)
                {
                    Sleep(1000);
                    INPUT Input = { 0 };
                    Input.type = INPUT_KEYBOARD;
                    Input.ki.wVk = 'W';
                    SendInput(1, &Input, sizeof(Input));
                    //ZeroMemory(&Input, sizeof(Input));
                    //Input.ki.dwFlags = KEYEVENTF_KEYUP;
                    //SendInput(1, &Input, sizeof(Input));
                    std::cout << " 1 " << std::endl;
                    Sleep(100);

                    i = 1;
                }
            }
            else
            {
                i = 0;
            }

        Sleep(20);
    }
}

Ответы (0 шт):