Tastendruck simulierenn
-
Hi, ich hab mich an diesen Thread hier gehalten:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-165868.html
gehalten.Bei der folgenden Funktion bekomme ich ein:
inline void VirtualKeyPress(BYTE byVirtualKeyCode) { INPUT ipSignal; ipSignal.type = INPUT_KEYBOARD; ipSignal.ki.wVk = byVirtualKeyCode; ipSignal.ki.wScan = 0; ipSignal.ki.dwFlags = 0L; ipSignal.ki.time = 0L; ipSignal.ki.dwExtraInfo = 0L; SendInput(1, &ipSignal, sizeof(ipSignal)); ipSignal.ki.dwFlags = KEYEVENTF_KEYUP; SendInput(1, &ipSignal, sizeof(ipSignal)); }"INPUT undeclared" , ich hab <windows.h> eingebunden. Weiss einer warum das nicht geht ?
-
Hast du die richtigen Header eingebunden?
-
hi, also msdn schreibt nur was von windows.h, welche headers werden den noch benötigt ?
-
Mach mal bevor du <windows.h> includest:
#define _WIN32_WINNT 0x0501
-
Yea danke man
-
Hi, hab nochmal ne Frage zu dem Thema. Also ich hab jetzt halt einfach mal probiert, ob ich das ganze bei einer Textdatei anwenden kann. Funktioniert wunderbar, nur hab ich das eigentlich nicht für eine Textdatei vorgesehen, sondern eben für ein spezielles Programm (TS) welches eben auf die Eingabe reagieren soll.
Nur leider funktioniert das dort nicht, ich tippe mal darauf, das dieses Programm eben nur Hardware eingaben wahrnimmt, und WindowsMessages blockt. Gibts gegen sowas keine Lösung ? Bzw. kennt einer von euch eine ?
-
Was genau hast Du denn vor (bin ein neugieriges Kerlchen
)?Ich vermute aber eher, dass Du fürs TS einen DirectX-Hook brauchst.
-
Naja eigentlich nur eine kleine Spielerei. Man kann im TS keys binden. Und zb hab ich auf der "0" Channel Wechseln gebindet. Egal in welchem Fenster ich bin, bei der 0 wechsel ich den Channel. Naja und mit dem Funktion oben passiert halt leider nichts, aber wenn ich den Handle auf eine Office Datei setze, dann schreibt mir das Programm wunderbar leuter nullen rein

-
Liegt es an der Unterscheidung der 0 und NUM_0? Oder auch mit anderen Tasten probiert?
-
Jop auf die Idee bin ich auch schon gekommen, leider funktionierts trotzdem nicht. Bzw. es ist mit jeder Taste dasselbe

-
Wie gesagt, ich vermute, dafür benötigst Du einen DirectX-Hook auf DirectInput.
-
ok danke für den Tip, hab zwar keine Ahnung was das sein soll, aber ich werde mal gucken ob ich da was darüber finde
-
Vielleicht hilft Dir dieser Link:
http://www.codeproject.com/KB/system/Hooking_DirectX_COM.aspx
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.