Итак, я пытаюсь сделать программу, которая отправляет строку нажатий клавиш в открытое в настоящее время окно, и всякий раз, когда я запускаю код, он не отправляет все, что я хочу, чтобы он посылал, он посылает что-то совершенно другое (т.е. отправляет боб придумывает, как 22 или 2/2)Строки SendInput?
#include <iostream>
#include <vector>
#include <Windows.h>
int SendKeys(const std::string &msg);
int main() {
Sleep(5);
while(true) {
Sleep(500);
SendKeys("iajsdasdkjahdjkasd");
}
std::cin.get();
return 0;
}
int SendKeys(const std::string & msg)
{
std::vector<INPUT> bob(msg.size());
for(unsigned int i = 0; i < msg.size(); ++i)
{
bob[i].type = INPUT_KEYBOARD;
bob[i].ki.wVk = msg[i];
std::cout << bob[i].ki.wVk << std::endl;
auto key = SendInput(1, &bob[i], sizeof(INPUT) /* *bob.size() */);
}
return 0;
}
(простите ужасное форматирование)
Хорошо, почему вы написали 'sizeof (INPUT)' вместо 'bob.size()'? –
, потому что я искал поиск неисправностей, когда использовал bob.size(), я снова получил другой текст. – MrBleach
@LightnessRacesinOrbit на самом деле нет, извините, при использовании bob.size() он не отправил ввод текста вообще. – MrBleach