Keylogger - Großbuchstaben

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Pascal95

Keylogger - Großbuchstaben

Beitrag von Pascal95 »

Hallo,

ich habe einen Keylogger mit Lazarus programmiert. Der funktioniert auch.
Leider gibt es Probleme mit den Großbuchstaben. Ich lasse sie folgendermaßen registrieren:

Code: Alles auswählen

for x := 1 to 26 do
  begin   // Großbuchstaben
    RegisterHotKey(Handle, x, MOD_SHIFT, Ord(char(65 + x -1)));
  end;
Da ich hier MOD_Shift benutze, wird natürlich erwartet, dass Shift gedrückt wird.
Wenn man aber mehrere Großbuchstaben hintereinander eingibt:
*shift drück* A B C *shift loslassen*

... dann werden die Buchstaben B und C nicht mehr erkannt, weil Shift nicht mit ihnen gemeinsam gedrückt worden ist.
(Man hat schon das A gedrückt, und Shift nicht losgelassen)

Gibt es eine Lösung für dieses Problem?

Vielen Dank
Pascal

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Keylogger - Großbuchstaben

Beitrag von Socke »

Hallo,
ich kenne die Funktion "RegisterHotKey" nicht, gehe aber davon aus, dass sie für HotKeys also Tastenkombinationen zum Schnellzugriff auf Programmfunktionen gedacht ist.
Pascal95 hat geschrieben:... dann werden die Buchstaben B und C nicht mehr erkannt, weil Shift nicht mit ihnen gemeinsam gedrückt worden ist.
(Man hat schon das A gedrückt, und Shift nicht losgelassen)
Dann wäre auch klar, dass mit Shift+A eine Tastenkombination gedrückt wurde. Hotkeys, die aus mehr als einem (alphanumerischen) Zeichen bestehen, habe ich aber auch noch nirgends gesehen.

Außerdem registrierst du nur von A-Z. Damit du wirklich alle Zeichen mitbekommst, müsstest du wahrscheinlich den gesamten Unicodebereich registrieren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Keylogger - Großbuchstaben

Beitrag von Hitman »

... zudem empfangen andere Programme die Hotkeys dann nicht mehr. Wenn du also irgendwo das gewohnte Ctrl+C zum kopieren drückst --> Fail, weil deine Anwendungs das ja schon abfängt ... da dürfte der "Keylogger" (ernsthaft, das Ding ist weit weg von nem Keylogger) schnell negativ auffallen ;-)

Pascal95

Re: Keylogger - Großbuchstaben

Beitrag von Pascal95 »

Hitman hat geschrieben:... zudem empfangen andere Programme die Hotkeys dann nicht mehr. Wenn du also irgendwo das gewohnte Ctrl+C zum kopieren drückst --> Fail, weil deine Anwendungs das ja schon abfängt ... da dürfte der "Keylogger" (ernsthaft, das Ding ist weit weg von nem Keylogger) schnell negativ auffallen ;-)
Hi,

Das was ich in meinem ersten Post geschrieben habe, ist natürlich nur ein Ausschnitt vom Keylogger. Es werden natürchlich alle Zeichen (a-b, A-B, 0-9 und ein paar Sonderzeichen) registriert UND danach wieder ausgegeben, sodass man davon nichts merkt. Das Programm läuft auch versteckt und wird mit dem Hotkey Windows-Logo-Taste + F12 wieder geöffnet.

Das Problem habe ich gerade auf eine andere Weise gelöst, und zwar lag es nicht daran, dass man mit Shift gedrückt mehrere Tasten drückt, sondern daran, dass Shift sozusagen virtuell wieder losgelassen wird:

Code: Alles auswählen

keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
Das habe ich dann entfernt und es ging! (Die Shift Taste ist vom user sowieso gedrückt und muss virtuell weder gedrückt noch losgelassen werden).

Pascal

Antworten