Tasten systemweit abfangen (Hooks)
-
ich hab mal ne frage zu Hooks:
ich hab im dem quelletext von http://www.c-plusplus.net/forum/viewtopic.php?t=39145 verwendet. aber es kommen bei mir immer die fehler:
[Linker Fehler] Unresolved external 'SetHook' referenced from C:\PROGRAMME\BORLAND\CBUILDER5\PROJECTS\KEYLOGGER\keyhook.OBJ
[Linker Fehler] Unresolved external 'RemoveHook' referenced from C:\PROGRAMME\BORLAND\CBUILDER5\PROJECTS\KEYLOGGER\keyhook.OBJich habs schon mehrmals neu programmiert, aber es kommen immer die 2 fehler. was kann ich dagegen machen?
-
Hast du auch die *.lib dem Projekt hinzugefügt?
-
welche *.lib? im quellecode ist nicht die rede von ner lib.
-
@Tim: Im Quellcode steht sowas auch nicht!
Aber er hat recht. Er meinte wahrscheinlich, dass da keine Rede von ist in dem FAQ-Beitrag. Das sollte vielleicht nachgeholt werden.
@Mods: Ich hab irgendwie mitbekommen, dass mein Beitrag dazu (wie man die DLL verbessern könnte) auch irgendwie in den FAQs steht. Aber ich kann ihn beim besten Willen nicht finden. Außerdem finde ich die Lösung nicht so dolle, beide Threads separat voneinander aufzubewahren. Ich finde, die Threads sollten miteinander verlinkt werden.
-
System Tastaturabfrage:
http://www.c-plusplus.net/forum/viewtopic.php?t=60908&highlight=
-
@FB: Schlecht!
-
Der code ist echt schlecht, weil wenn man den Timer auf 1 ms stellt und die Taste 1 sek lang drückt wird angezeigt, dass die Taste 1000 mal gedrückt wurde.
also:
welche lib muss ich einbinden?
-
TimNagel schrieb:
also:
welche lib muss ich einbinden?Die lib, die zu Deiner DLL gehört.
Beim Erstellen der DLL wird automatisch eine LIB der DLL erzeugt. Diese LIB muß zum Projekt, das die DLL verwendet, hinzugefügt werden.
Oder?!MfG
xy
-
Genau so siehts aus! Die LIB die erstellt wird muss mit in das Projekt eingebunden werden.
Einfach in dem ordner wo du die keydll.dll (<- der name aus dem FAQ-Beispiel, bei änderungen entsprechend ändern) drin hast gucken. da ist die gleichnamige keydll.lib drin, welche dann via "Projekt->dem Projekt hinzufügen" hinzugefügt werden kann
-
Und wo kann man die keydll.lib downloaden?
MfG FB
-
@ FB
-
Es gibt immer wieder diese Leute, die keine Ironie verstehen... *kopfschüttel*
-
Sorry, hab mir das Posting nicht richtig durchgelesen!
MfG FB
-
Ich hab jetzt die *.lib eingebunden.
Compilieren geht ohne probleme. ich hab auch darauf geachtet, dass das fenster den gleichen namen hat wie in der dll. aber wenn das programm läuft, und ich eine taste drücke, wird trotzdem nichts in der ListBox hinzugefügt.
woran kann da liegen?
-
bei mir geht alles. aber kann man auch zwischen großbuchstaben und kleinbuchstaben unterscheiden?
-
Ja das ist möglich, allerdings musst du das selber abfangen. Du musst abfragen wann die Shift-Tasten gedrückt sind und wann nicht und dem entsprechend die Zeichen ausgeben
Die Shift-Taste abfragen kannst du mit GetKeyState(), wenn ich mich recht erinnere.