SendInput Methode
-
So ähnlich hatte ich es auch schon aufgebaut, jedoch funktioniert es nicht.
Hier mal der Code:
#include <windows.h> #include <iostream> int main() { Sleep(3000); char* ptr = new char[50]; ptr = "Hallo\0"; INPUT ip; ip.type = INPUT_KEYBOARD; ip.ki.wScan = 0; ip.ki.time = 0L; ip.ki.dwExtraInfo = 0L; int i = 0; while (ptr[i] != \0) { ip.ki.dwFlags = 0L; ip.ki.wVk = ptr[i]; SendInput(1, &ip, sizeof(ip)); ip.ki.dwFlags = KEYEVENTF_KEYUP; SendInput(1, &ip, sizeof(ip)); i++; } return 0; }Der Compiler gibt an, dass INPUT ein nicht deklarierter bezeichner sei, obwohl er diesen eigentlich durch windows.h hätte erhalten müssen.
-
Für INPUT musst du die winuser.h einbinden

-
Badestrand schrieb:
Für INPUT musst du die winuser.h einbinden

Er hat bereits die Windows.h inkludiert
. Da ist auch winuser.h dabei.Du musst einfach Deine SDK auf einen aktuellen Stand bringen.
-
Habe ich gemacht, es funktioniert trotzdem nicht, das "komische" daran ist ja, dass es wenn ich mit der Maus rüberfahre erkannt wird, jedoch will der Compiler nicht.
-
Lass Dir mal die Definition anzeigen. Kann sein, dass sie durch n WIN_VER Makro gesichert ist.
-
Jetzt funktionierts, da ich zwei zeilen in der winuser.h auskommentiert habe.
Danke für den Tipp.Jetzt habe ich noch eine Frage:
Wie kann ich : und \ virtuell drücken.
-
Mal ne andere Frage wieso kommentiert man 2 Zeilen in der Window.h aus

An diesen "Standard-System-Dateien" würd ich nie was ändern
Aber das hast ja jetzt am eigenen Leib erfahren 
MfG schirrmie
-
"Am eigenen Leib erfahren" kann man so nicht sagen, jetzt funktioniert ja erst alles, vorher gings ja nicht. außerdem habe ich mir vermerkt, wo ich was verändert habe.
Zeilen: 4985 und 5033
-
Will dir nicht reinreden, aber du könntest auch zusätzlich hinter die auskommentierten Zeilen noch deinen Namen schreiben oder so... Wenn du die Zeilennummern mal verschlampen solltest, kannst du einfach alle Headerdateien nach deinem Namen durchsuchen (Windows-Suche und dann Suche in Notepad)

-
Du solltest auf KEINEN Fall die Windows Header verändern. Was für eine Zeile hast Du denn auskommentiert ?