Zum Keyhook aus der FAQ



  • die steht doch in der FAQ, ist genau der selbe Quelltext... Aber damit ihr euch jetzt nicht noch so viel Mühe machen müsst...:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #include <windows.h>
    #pragma hdrstop
    //---------------------------------------------------------------------------
    
    #define WM_KEYHOOK WM_USER+100
    HHOOK ghhookKB;
    HINSTANCE ghInst;
    #pragma argsused
    //---------------------------------------------------------------------------
    
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
      ghInst = hinst;
      return (1);
    }
    //---------------------------------------------------------------------------
    
    extern "C" __declspec(dllexport) __stdcall void SetHook(void);             //Z. 21
    extern "C" __declspec(dllexport) __stdcall void RemoveHook(void);
    extern "C" __declspec(dllexport) __stdcall DWORD CheckKey(int, WORD,LONG);
    //---------------------------------------------------------------------------
    
    void __stdcall SetHook(void)
    {
      HOOKPROC lpfnHookProc = NULL;
      lpfnHookProc = GetProcAddress(GetModuleHandle("keydll.dll"),"CheckKey");
      ghhookKB = SetWindowsHookEx(WH_KEYBOARD, lpfnHookProc, ghInst, NULL);
    }
    //---------------------------------------------------------------------------
    
    void __stdcall RemoveHook(void)
    {
      UnhookWindowsHookEx(ghhookKB);
    }
    //---------------------------------------------------------------------------
    
    DWORD __stdcall CheckKey(int nCode, WORD wParam, LONG lParam)
    {
      HWND ghAppWnd = FindWindow("TKeyHookForm", 0);
      if((nCode < 0) || nCode == HC_NOREMOVE)
        return CallNextHookEx(ghhookKB, nCode, wParam, lParam);
    
      // Skip if it's a repeat
      if(lParam & 0x40000000)
        return CallNextHookEx(ghhookKB, nCode, wParam, lParam);
    
      // Send key information to the main window
      SendMessage(ghAppWnd, WM_KEYHOOK, 0, lParam);
    
      return CallNextHookEx(ghhookKB, nCode, wParam, lParam);
    }
    //---------------------------------------------------------------------------
    

    [ Dieser Beitrag wurde am 24.05.2003 um 17:32 Uhr von aaaabyx editiert. ]



  • hmmmm irgendwie scheint die FAQ ja doch nicht Idiotensicher zu sein...



  • Kann deinen Fehler nicht nachvollziehen... bei mir wird anstandslos compiliert.

    -junix



  • Ist ja auch komisch... hmmmmmm.....
    Vielleicht sollte ich mir doch mal n neuen Builder besorgen...

    -aaaabyx



  • Ich glaub nicht, dass es am Builder liegt... schick mir mal dein Projekt:

    junix@c-plusplus.net

    -junix



  • hmmmmm vielleicht hast du recht aber ich hab das ganze 3mal versucht und es klappt einfach nicht... Aber moment ich schicks dir...



  • @junix: könntest du mir die dll bitte mal compilern und zusenden???
    Wäre sehr nett von dir...(bitte NICHT an die TOnline sondern an die Yahoo-addy)



  • Ach neee, das hat gar keinen Sinn, weil das Programm auch nicht funktioniert: Es gibt da nämlich genau die gleichen Fehler...

    Mann, woran kann das nur liegen????? 😕 😕 😕 😕 😕



  • Hmmm mir ist gerade was aufgefallen: Wenn ich das

    __stdcall
    

    überall, wo es vorkommt lösche, compilert er anstandslos... Allerdings funktioniet der hook nicht...



  • Aber wieso???
    Was hat mein Builder bitte gegen das

    __stdcall
    

    , kann mir das jemand erklären???



  • Ic hasse sowas!!!!!!!!!!!
    AAahhhhhhhhhhh das ist doch zum verrücktwerden



  • *grummmllll*



  • Zum Teufel mit ihnen...



  • goto Kindergarten; 😉



  • goto Spammer-Abteil ich hab ein Problem und zwar ein ernstes, wobei du mir nicht mal helfen kannst...



  • ALSO UM DAS THEMA MAL ABZUSCHLIESSEN:

    wenn du nen keyhooker haben willst dann kannst du dich bei mir melden ich habe gerade vor 2 mon. mit dem bcb son teil geproggt - und das geht echt super !



  • ich wollte eigentlich was anderes damit machen aber auch egal... Wird sowieso in diesem Leben nicht mehr funktionieren... Aber Keyhooker kannst du mir gerne mal schicken... joeypohl@yahoo.de



  • naja ich dachte du willst den quellcode haben -> den kannst du dann ja für deine sachen nehmen !

    hast du icq `?



  • was sol ich denn mitm Quellcode, den kann ich doch sowieso nicht compilieren...
    Aber mal gucken...

    ICQ:333163499

    und du?

    [ Dieser Beitrag wurde am 28.05.2003 um 11:11 Uhr von aaaabyx editiert. ]



  • warum kannst du den nicht compilieren ?

    -------------
    ich melde mich dann heute abend so ab 19 uhr wenn ich @home bin !


Anmelden zum Antworten