Tastatur Hook? bei den Faqs. welche parameter



  • Hallo zusammen. ich hab hier
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39145.html
    alles so gemacht wie beschreiben, aber beim ausführen wird garnichts in miene ListBox geschrieben. Wie löse ich die Funktion aus? Ich glaube ich muss einen Timer befehlen die Hauptfunktion mm erwieder aufzurufen oder?

    Das hier ist diese Funktion:

    void __fastcall TKeyHookForm::KeyHook(TMessage &Message)
    {
      char Key[80];
      GetKeyNameText(Message.LParam, Key, 80);
      ListBox1->Items->Add(Key);
    }
    

    Aber wenn ich den Befehl "TKeyHookForm::KeyHook()" in den timer schreibe klappt es nicht. Welche Parameter müssen in die Klammer? in der Borland Hilfe unter TMessage habe ich nichts vergleichbares gefunden.

    Danke schonmal
    Maxmann



  • Meisnt du nicht, es gibt für dich u.U. leichtere Themen als Hooks?



  • Das FAQ-Beispiel funktioniert 1A, du hast irgendwo einen Fehler eingebaut.

    Das mit dem Timer kannst du vergessen. Das Prinzip von Hooks ist ja gerade, dass sie selbstständig auf Systemnachrichten reagieren.



  • "klappt nicht" ist keine Fehlerbeschreibung. WAS funktioniert den nicht?

    kurze Seitenfrage: "Liest" Du wirklich die Bild?



  • Ich habe mich schon recht ausgedrückt:

    Es kommt garkeine Fehlermdelung, nichts...
    Nur wenn ich es starte reagiert das programm nicht und es werden keine Einträge in die listbox geschrieben.

    Warum sollte man sich nicht mit Hooks auseinandersetzen????

    Un zu dem Bild-Thema:
    ich lese keine Bild habe nur rausgefunden, dass Bild einen test durchgeführt hat, der auch funktioniert haben soll.

    mfg Maxmann



  • Die ganze Sache hat sich allerdings erledigt. Ich hatte in der Dll ein Problem, deswegen wurde auch keine Fehlermeldung angezeigt.
    mfg maxmann



  • Entweder Du postest hier Quellcode, oder Du schaust Dir Deine DLL nochmal ganz genau an, oder Du nutzt den Debugger.

    Wie bereits gesagt, das FAQ Beispiel hat bereits funktioniert. Du musst also irgendwo etwas nicht ganz korrekt gemacht haben.

    Gruss


Anmelden zum Antworten