Keyboard Hook Problem

Für allgemeine Fragen zur Programmierung mit PureBasic.
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Keyboard Hook Problem

Beitrag von pyromane »

Hallo,
ich habe folgendes Problem:

Irgendwo im Board habe ich einen Code zu einem Keyboard Hook genommen und wollte diesen für ein Projekt verweden. Ich habe den Code soweit runtergebrochen das er überprüft ob 4 Tasten gedrückt wurden. Wenn ja, möchte ich diese Tasten verarbeiten. Nun dauert das Verarbeiten aber und wird in der folgenden Methode gemacht:

Code: Alles auswählen

Procedure.l LowLevelKeyboardProc(nCode.l, wParam.l, lParam.l)
  Protected *p.KBDLLHOOKSTRUCT = lParam, rz.s
  If nCode = #HC_ACTION
    rz = MakeChar(wParam, *p)
    If rz <> ""
      KB_Text + rz
      ; VERARBEITEN
    EndIf
  EndIf
  ProcedureReturn CallNextHookEx_(0, nCode, wParam, lParam)
Da das verarbeiten eige huntert ms braucht, stockt das Keyboard was unschön ist. Deshalb wollte ich das ganze erst in einen Thread auslagern aber da Knallen mir die Speicherfehler nur so um die Ohren. Multithreading war mit PureBasic noch nie meins. Keine Ahnung warum aber da gibts echt komische Fehler!

Jemand eine Idee wie ich das lösen kann?
EndProcedure
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Keyboard Hook Problem

Beitrag von NicTheQuick »

Gegenfrage: Was verarbeitest du genau, dass es so lange dauert? Vielleicht kann man ja einfach an der Stelle dann etwas optimieren.
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Keyboard Hook Problem

Beitrag von Kiffi »

NicTheQuick hat geschrieben:Gegenfrage: Was verarbeitest du genau, dass es so lange dauert?
das Schreiben in die Keylogger-Datei und anschliessende Versenden via Mail dauert so lange. :wink:
a²+b²=mc²
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Re: Keyboard Hook Problem

Beitrag von pyromane »

Ich gleiche die Dateinen mit einer MySQL Datenbank an. In der stehen MD5 Hashes und ich Hashe bestimmte Zeichenketten. Sobald ein bestimtme Zeichenkette (Passwort) erkannt wird, geht es weiter im Programm. Nun dauert ja jeder Request eine bestimmte Zeit etc.
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Re: Keyboard Hook Problem

Beitrag von pyromane »

Klappt nun alles. Ich hatte dem Thread einen Pointer vom String mit den Keyboardtasten gegeben, welche gedrückt wurde. Das hat aber so gar nicht hingehauen. Nun habe ich mit Global und Shared (schlag mich ruhig) das ganze zum laufen gebracht :D
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Antworten