Я пытаюсь создать программу, которая, когда вы наберете «Alt + A», напишет строку наподобие «Hello», например. Это самое близкое, что я получил:
if (GetAsyncKeyState(65))
{
cout << "worked" << std::endl;
string bind = "Hello";
INPUT Input = { 0 };
Input.type = INPUT_KEYBOARD;
for (int i = 0; i < bind.length(); i++)
{
Input.ki.wVk = VkKeyScanA(bind[i]);
SendInput(1, &Input, sizeof(Input));
}
Sleep(500);
}
Это работает так же, как я хочу, но есть некоторые проблемы, с которыми я столкнулся:
- Я не могу получитьAlt ключ к работе. Когда я использую GetAsyncKeyState (18), он запускает «обработанный» вывод, но не вводит слово.
- Всякий раз, когда я нажимаю связку клавиш (например, «A»), он набираетэто письмо тоже. Можно ли как-то отменить это нажатие клавиши? Я думал, что мог бы просто сделать так, чтобы он набирал кнопку возврата на шаг перед словом, но я предполагаю, что лучше это сделать.
- У меня также есть проблема, что программа не 't введите именно то, что вставлено. Он не печатает заглавные буквы, а набирает только одну букву, если их две в строке. В коде, который я вставил, вместо «Hello» будет написано «helo».