simulierten Tastendruck nur an ein bestimmtes Programm senden
-
Versuch's mal mit WM_PASTE (und WM_CUT = Strg+X, WM_COPY = Strg+C).
(ohne Garantie: Oder du schickst nacheinander die KeyDown(VK_CTRL), KeyDown('V'), KeyUp('V') und KeyUp(VK_CTRL) raus)
-
Das WM_PASTE scheint leider bei mir nicht zu fruchten, und bei folgenden Aufruf
SendMessage( hwnd, WM_KEYDOWN, VK_CTRL, 0 );sagt mir mein Dev C++ Compiler das er VK_CTRL nicht kennt, aber zB die Konstanste VK_TAB kennt er.
Dürfte aber nicht der Fall sein, oder ?
-
Sorry, mein Fehler - der Key-Code für Strg ist "VK_CONTROL"
-
Danke für den Link, ich such mir immer den Wolf in der msdn und finde nix.
Werd ich heute abend dan mal testen.Falls das auch nicht geht müsste ich doch den Tastendruck simulieren.
Kann ein Programm unterschiede machen wenn ihm die Message untergeschoben wird und es quasi "sagt" ne ich nehm nur Nachrichten vom Chef ( also nur von einer bestimmten "Addresse" ) ?
( da das WM_PASTE scheinbar bei diesem Programm nicht funktioniert, obwohl der Text in der Zwischenablage sitzt )
-
Es hat geklappt
mit keybd_event gings dann endlich.Danke nochmals!
-
rendner schrieb:
mit keybd_event gings dann endlich.
Besser wäre "SendInput"...
-
Kannst du kurz mal erleutern warum dies besser wäre?
In der msdn steht das ich nur die windows.h dafür includen muss aber mein Compiler ( Dev C++ ) kennt nicht den Datentyp INPUT.
-
Besser ist relativ. Die Funktion die Du verwendet hast wird halt nicht mehr empfohlen (siehe Doku).
-
Ok.
Aber wie kann ich das problem beheben das der Compiler über den Datentyp INPUT meckert, muss ich da noch irgend etwas definen, includen, etc. ?
edit:
Hab da was gefunden
#define _WIN32_WINNT 0x0500kann man das so ohne bedenken machen?
-
Wenn Dein Programm nur ab W2k laufen soll, ja.
Sonst würde ich doch lieben die "late" Funktion verwenden (sorry für die verwirrung).
-
Wenn Dein Programm nur ab W2k laufen soll, ja.
Das konnte ich mir dann auch schon fast denken.
Aber ist bei meinem Programm nicht so wild, da es nur hobby mässig ist.Sonst würde ich doch lieben die "late" Funktion verwenden (sorry für die verwirrung).
Ne das mit dem SendInput ist schon ne feine Sache da man mehrere Tastatureingaben gleich mit einmal senden kann, bloß diese blöde INPUT Struktur zu füllen nimmt nen haufen platz weg
.