Hooks mit Cygwin



  • Hallo,
    wenn ich in mit Cygwin einen systemweiten Maushook setze stürzt das System ab.

    ich benutze folgenden Code

    LRESULT CALLBACK meldung(int nCode, WPARAM wParam, LPARAM lParam){
    	if (nCode < 0){
    		return CallNextHookEx(hMouseHook, nCode, wParam, lParam);
    	}
    
    	if (nCode == HC_ACTION){
    		if (wParam == WM_RBUTTONUP){
                	MessageBox (NULL, "Treffer","Hook",MB_DEFAULT_DESKTOP_ONLY);
    		}
    	}
    
    	return CallNextHookEx (hMouseHook, nCode, wParam, lParam);
    }
    
    void CALLBACK InstallHook(void)
    { 
        if(hMouseHook != NULL){
    		return TRUE;
        }
       hMouseHook = SetWindowsHookEx(WH_MOUSE, meldung, ghInstance, 0);
    }
    
    void CALLBACK UninstallHook()
    {
    	if(hMouseHook != NULL)
    	{
    		UnhookWindowsHookEx(hMouseHook);
    		hMouseHook = NULL;
    	}
    }
    

    und kompiliere die entsprechende DLL mit

    hookDll.dll: hookDll.o
    	gcc -shared hookDll.o -mwindows -o hookDll.dll
    
    hookDll.o: hookDll.c hookDll.h
    	gcc -c hookDll.c -o hookDll.o
    

    kennt jemand das Problem und kann mir weiterhelfen ? Wenn ich das ganze mit bcc32 kompiliere habe ich keine Probleme.

    Vielen Dank und Grüße

    Armin


Anmelden zum Antworten