Hilfe zu Hooks



  • Hallo!

    Ich hoffe ihr könnt mir helfen.
    Ich versuche mich gerade an Hooks...
    Ich möchte einen Hook registrieren und dann IN meinem Hauptprogramm die Nachrichten abarbeiten. Also ohne HookProcedure. Soweit bin ich schon gekommen:

    int WINAPI WinMain	(HINSTANCE hInstance,
    					HINSTANCE hPrevInstance,
    					PSTR szCmdLine,
    					int iCmdShow)
    {
    	HHOOK hHook = SetWindowsHookEx (WH_KEYBOARD, NULL, NULL, NULL);
    
    	while (GetMessage (NULL, NULL, NULL, NULL)) { }
    
    	UnhookWindowsHookEx(hHook);
    
    	return 0;
    }
    

    Ich habe leider keinen Plan wie ich das anstellen soll... habe schon viele Jahre nicht mehr programmiert. Gesucht habe ich auch schon Stunden und nicht viel Gescheites gefunden... deshalb hoffe ich ihr könnt mir helfen.

    MfG Bizarre



  • Bizarre schrieb:

    Hallo!

    Ich hoffe ihr könnt mir helfen.
    Ich versuche mich gerade an Hooks...
    Ich möchte einen Hook registrieren und dann IN meinem Hauptprogramm die Nachrichten abarbeiten. Also ohne HookProcedure. Soweit bin ich schon gekommen:

    int WINAPI WinMain	(HINSTANCE hInstance,
    					HINSTANCE hPrevInstance,
    					PSTR szCmdLine,
    					int iCmdShow)
    {
    	HHOOK hHook = SetWindowsHookEx (WH_KEYBOARD, NULL, NULL, NULL);
    	
    	while (GetMessage (NULL, NULL, NULL, NULL)) { }
    	
    	UnhookWindowsHookEx(hHook);
    
    	return 0;
    }
    

    Ich habe leider keinen Plan wie ich das anstellen soll... habe schon viele Jahre nicht mehr programmiert. Gesucht habe ich auch schon Stunden und nicht viel Gescheites gefunden... deshalb hoffe ich ihr könnt mir helfen.

    MfG Bizarre

    Um dir helfen zu koennen musst du erst einmal erklaeren was genau du erreichen willst.



  • Im Grunde genommen will ich irgendwie die Informationen die man durch einen Hook bekommt in meinem Hauptprogramm abarbeiten. Also im Prinzip so (Pseudocode):

    - Headers
    - Beginn vom Hauptprogramm
    - Registriere Hook
    - Verarbeite die Daten die aus dem Hook kommen (z.B. Keyboard Input)
    - Ende des Hauptprogrammes



  • Und warum nicht in einer eigenen Funktion?



  • Das würde ich nur machen wenn ich es nicht so hinbekommen würde wie ich es wollte. Ich will das einfach so haben aus 2 Gründen...

    1. Ich will sehen ob es überhaupt so funktioniert.
    2. Ich finde diese Lösung die ich haben will wesentlich schöner als eine eigene Funktion.



  • Irgendwie muss es ja gehen... ich habe doch das Hook Handle in:

    HHOOK hHook = SetWindowsHookEx (WH_KEYBOARD, NULL, NULL, NULL);
    

    P.S. sry für Doppelpost


Anmelden zum Antworten