Also habe ich versucht, ein Programm zu machen, das eine Reihe von Tastenanschlägen an das gerade geöffnete Fenster sendet und wenn ich den Code ausführe, sendet es nicht, was ich will, sendet es etwas völlig anderes (zB Senden bob kommt als 22 oder 02.02 bis)SendInput-Zeichenfolgen?
#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;
}
(die schreckliche Formatierung) vergeben
Nun, warum hast du 'sizeof (INPUT)' anstelle von 'bob.size()' geschrieben? –
weil ich eine Fehlersuche hatte, habe ich bei der Verwendung von bob.size() wieder einen anderen Text bekommen. – MrBleach
@LightnessRacesinOrbit eigentlich nein, sorry, bei der Verwendung von bob.size() hat es überhaupt keine Texteingabe gesendet. – MrBleach