Tastensimulation



  • hallo an alle da draußen im netz:)
    ich brauch unbedingt eure hilfe, bitte.

    zu meinem Problem:
    ich möchte über ein terminal programm (myAVR Controlcenter) eine kommunikation zwischen PC und µC aufbauen. um daten zu verschicken muss ich immer anschließend Enter oder den "Send"-Button drücken. Da ich aber ein fahrzeug ansteuern will ist dieser tastendruck sehr nervig.....

    nun hab ich mir ein mini programm in Dev C++ geschrieben, welches bei jeder tasteneingabe nachträglich enter drückt.

    dies habe ich mit dem befehl: keybd_event() bewerkstelligt.
    aber das programm "drückt" die taste nicht im terminal oder in einfachen textdokumenten, aber wenn ich bei windows den start button drücken und dann in programm/datein suchen drücke funktioniert die enter eingabe. es funktionieren auch zahlen und buchstaben.

    nun zu meiner frage:

    gibt es einen befehl, der einen tastendruck so simuliert, dass er solche auswirkungen hat wie ein realer tastendruck?

    ich danke im vorraus für eure hilfe:)
    glg



  • Da bist du hier falsch, das gehört ins Win API Forum.



  • Guck dir mal die Funktion SendInput der Win32 API an.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • {
    			INPUT ipSignal; 
    			ipSignal.type           = INPUT_KEYBOARD; 
    			ipSignal.ki.wVk         =  28L; 
    			ipSignal.ki.wScan       =  28L; 
    			ipSignal.ki.dwFlags     = KEYEVENTF_SCANCODE; 
    			ipSignal.ki.time        = 0L; 
    			ipSignal.ki.dwExtraInfo = 0L; 
    			SendInput(1, &ipSignal, sizeof(ipSignal)); 
    			Sleep(50);
    			ipSignal.ki.dwFlags     = KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE; 
    			SendInput(1, &ipSignal, sizeof(ipSignal)); 
    
    }
    

Anmelden zum Antworten