Linker Fehler bei Tastatur Hook?
-
Hallo,
ich möchte gern Tastatur eingaben aufzeichnen, ich habe dazu mal in den Faq gekuckt und folgendes gefunden:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39145.htmlLeider bekomme ich 2 Linker Fehler:
[Linker Fehler] Unresolved external 'RemoveHook' referenced from C:\DOKUMENTE UND EINSTELLUNGEN\*Benutzername*\DESKTOP\TASTATUR HOOK\TASTATUR HOOK\UNIT1.OBJ [Linker Fehler] Unresolved external 'SetHook' referenced from C:\DOKUMENTE UND EINSTELLUNGEN\*Benutzername*\DESKTOP\TASTATUR HOOK\TASTATUR HOOK\UNIT1.OBJ
Kann es sein, das ich die DLL Datei nicht richtig kompiliert habe?
Weil beim Kompilieren der DLL Datei erhalte ich folgende fehlermeldung:
Die Fehlersuche für ein Projekt kann nicht gestartet werden, solange keine Host-Anwendung definiert ist.
Verwenden Sie das Dialogfenster Start|Parameter...aber die DLL Datei ist dann nach dem Kompilieren im Ordner vorhanden, obwohl dieser fehler beim Kompilieren der DLL Datei aufgetreten ist.
Für hilfen wäre ich euch sehr dankbar.
MfG
-
Weiss keiner wieso ich den Linker Fehler bekomme?
Ich habe das so gemacht, wie es hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39145.html
gezeigt wird.Nur wieso bekomme ich den Linker Fehler?
Ich benutze Borland C++ Builder 6 Professional.
Vielen Dank schonmal im Voraus.
MfG
-
bruce85 schrieb:
Weil beim Kompilieren der DLL Datei erhalte ich folgende fehlermeldung:
Die Fehlersuche für ein Projekt kann nicht gestartet werden, solange keine Host-Anwendung definiert ist.
Verwenden Sie das Dialogfenster Start|Parameter...Diese Fehlermeldung erhältst du nicht beim Kompilieren, sondern weil du versuchst, das Kompilat zu starten.
bruce85 schrieb:
Nur wieso bekomme ich den Linker Fehler?
Weil du die Importbibliothek der DLL nicht zu deinem Projekt hinzugefügt hast.
-
Danke für die antwort.
Ich habe versucht die DLL Datei zu importieren und erhalte diese fehlermeldung:
Fehler beim Laden der Typbibliothek/DLL.Irgendwie kann ich die DLL Datei nicht importieren, woran könnte das liegen?
Edit: Ich habe es hinbekommen, war mein fehler.
Ich habe ausversehen versucht die DLL Datei zum Projekt hinzuzufügen statt die lib datei, jetzt gehts.Danke trotzdem.
MfG
-
Ich hab nur noch eine Frage und zwar, möchte ich, wenn ich auf Enter drücke, das eine neue Zeile eingefügt wird.
Das ist für mich kein problem, aber wie frage ich von Key den Return Code ab?
Hab das mal so versucht:void __fastcall TKeyHookForm::KeyHook(TMessage &Message) { char Key[80]; GetKeyNameText(Message.LParam, Key, 80); if (Key == "EINGABE") Memo1->Lines->Add(""); else Memo1->Lines->Strings[Memo1->Lines->Count-1] = Memo1->Lines->Strings[Memo1->Lines->Count-1] + Key; }
VK_RETURN kann ich hier ja nicht verwenden, wie könnte ich das lösen?
MfG
-
Hallo
Warum vergleichst du Message.LParam nicht gleich direkt mit VK_RETURN?
GetKeyNameText ist jedenfalls nur zur Ausgabe für den Benutzer gedacht, nicht um inerte Verlgeiche durchzuführen.bis bald
akari
-
Danke Dir.
Hab das jetzt so gemacht:
if (Message.LParam == VK_RETURN) Memo1->Lines->Add(""); else Memo1->Lines->Strings[Memo1->Lines->Count-1] = Memo1->Lines->Strings[Memo1->Lines->Count-1] + Key;
Message.LParam == VK_RETURN wird nie ausgeführt, wenn ich die Entertaste betätige, wieso?
Edit: Ich habs jetzt hinbekommen, trotzdem Danke.
MfG
-
Hallo
Und woran lags?
bis bald
akari