eingabe im hintergrund protokollieren

hallihallo da nerve ich schon wieder ;)

ich hab schon wieder ein problem...
ich schreib zur zeit ein programm das bei einer bestimmten eingabe etwas bestimmtes macht... allerdings soll das programm im hintergrund laufen...
es soll KEIN KEYLOGGER werden falls das jezz einer denkt ich möchte einfach ein paar eingaben vereinfachen...
das fenster kann ich sogar schon ohne probleme verstecken aba an der eingabe hängts ein bisschen weil man nach der eingabe [ENTER] drücken muss und das nich viel sinn macht wenn der zugeordnete befehl nich sofort funktioniert...

könnt ihr mir vllt helfen und erklären wie man eine eingabe abfragt ohne danach [ENTER] drücken zu müssen?
 
Zuletzt bearbeitet:
Hallo,

ohne dir zu nahe treten zu wollen erlaubt deine immens hilfreiche Beschreibung des Problems nur eine moegliche Antwort:
Tut mir leid, meine Kristallkugel ist momentan defekt.
Es fehlt: Plattform, Programmiersprache und evt. Quelltext.

Mit einer praezisen Beschreibung und Quelltext koennte man dir helfen.
Ansonsten tippe ich mal drauf, dass du nicht Tastatureingaben hookst, sondern eine getchar-Konstruktion nutzt, die auf Termination der Eingabe durch die Eingabetaste wartet.

Wenn du tatsaechlich nur "Eingaben vereinfachen" willst, lohnt sich im uebrigen auch ein Blick auf AutoHotKey.
 
Klingt nach Keyboardhook. Weiß ja nicht in welcher Sprache du Programmierst aber gibt viele viele Beispiele, wenn das richtige bei Google suchst. Such einfach nach z.B.: "C# Keyhook" da findest gleich viele Beispiele.

In der Regel läuft das über die Windows API aus der user32.dll.



PS: Ich schreib momentan selbst einen Bericht über ein Projekt worin ich das verwendet hab. Dazu hab ich dann auch gleich mal eine Frage. Man nutzt dafür ja die Funktion "IntPtr SetWindowsHookEx(int hookID, KeyBoardHookProc callback, IntPtr hInstance, uint threadID)". Ich schau mir derweil an was die einzelnen Parameter bedeuten und von mir wollen und bin dabei auf diese Erklärung gestoßen. Dort steht einmal "WH_KEYBOARD" und einmal "WH_KEYBOARD_LL". In der Erklärung steht kurz gesagt das erste nimmt Tastenanschläge auf das andere nimmt Low-Level-Tastenanschläge auf.
Was sind Low-Level-Tastenanschläge bzw. -events und wo ist der Unterschied zu den "normalen" Tastenanschlägen?
 
Vorab: Ich bin kein Windowsmensch, daher sind mir die fürchterlichen Interna der W32-API nur wenig bekannt.

Klickt man bei der von dir verlinkten Doku weiter findet man die Beschreibung beider Callbacks.

LowLevelKeyboardProc callback function

KeyboardProc callback function

Der relevante Abschnitt ist vermutlich der:

LowLevel:
The system calls this function every time a new keyboard input event is about to be posted into a thread input queue.

KeyboardProc:
The system calls this function whenever an application calls the GetMessage or PeekMessage function and there is a keyboard message (WM_KEYUP or WM_KEYDOWN) to be processed.

mfg
 
Zurück
Oben