hook niedziala- co jest nie tak?

0

niewiem czemu hook mi nie dziala, oto jego kod:

hookdll.dll

#include <windows.h>


static HHOOK HookHandle;

LRESULT CALLBACK KeybProc(int nCode,WPARAM wParam,LPARAM lParam);


BOOL APIENTRY DllMain(HINSTANCE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
   static HINSTANCE handDLL=hModule;
    
   switch(ul_reason_for_call)
   {
     case DLL_PROCESS_ATTACH:
          HookHandle = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)KeybProc,handDLL,0);
          if(!HookHandle) MessageBox(NULL,"Nie mozna zaladowac pliku hookdll.dll \n",
                                          "Info",MB_OK | MB_ICONERROR);
          else
          MessageBox(NULL,"Ladowanie powiodlo sie","Info",MB_OK);
          break;
     
     case DLL_PROCESS_DETACH:
          UnhookWindowsHookEx(HookHandle);
          break;                                  
   }
   return true;  
}


LRESULT __declspec(dllexport)__stdcall CALLBACK KeybProc(int nCode, WPARAM wParam, LPARAM lParam)
{   

   if (nCode < 0)
      return CallNextHookEx(HookHandle, nCode, wParam, lParam);

   if(wParam) MessageBox(NULL,"jakis klawisz","Info",MB_OK);

   
   return CallNextHookEx(HookHandle, nCode, wParam, lParam);
}

a to kod z programu, ktory laduje dll'a:

...
LRESULT CALLBACK ProcOkna(HWND uchwyt,UINT komunikat,WPARAM wParam,LPARAM lParam)
{
        switch(komunikat)
        {
               case WM_CREATE:
                    if(handDLL=LoadLibrary((LPCTSTR) "hookdll.dll"))        MessageBox(NULL,"Zaladowany","OK",MB_OK);
                                        
                    break;
                   
               case WM_DESTROY:
                    FreeLibrary(handDLL);
                    PostQuitMessage(0);
                    break;
...

zanim okno programu mi sie wyswietli to pojawiac sie messagebox, czyli dll jest ladowany, ale potem niezczytuje mi klawiszy:/ mzoe ktos pomoze? thx

0

nikt nie wie? moze ja zle tego hooka robie? help

1 użytkowników online, w tym zalogowanych: 0, gości: 1