RegisterHotKey frage



  • floppy schrieb:

    so frisst es die laptop tastatur wenigstens 😉 also den vorteil hab ich...

    Na, das hört sich ja schonmal gut an... 🙂



  • HWND currentTop;
    currentTop = GetForegroundWindow(); 
    
    AttachThreadInput (GetWindowThreadProcessId (currentTop, NULL), GetCurrentThreadId(), TRUE);
    //AttachThreadInput (GetWindowThreadProcessId (hwnd, NULL), GetCurrentThreadId(), TRUE);
    
    BYTE cBuf[256];
    GetKeyboardState (cBuf);
    
    //AttachThreadInput (GetWindowThreadProcessId (hwnd, NULL), GetCurrentThreadId(), FALSE);
    AttachThreadInput (GetWindowThreadProcessId (currentTop, NULL), GetCurrentThreadId(), FALSE);
    
    if (cBuf['B']&0x80 && cBuf['C']&0x80)
    {
        MessageBox oder sonst ne aktion
    }
    

    so geht es eingermaßen..., aber leider nur bei jedem 2. mal (also es geht immer einmal, dann wieder einmal nicht 😕 )
    ob tasten gedrückt wurden, die nicht dazugehören müsste ich hier auch noch extra. und auf dem laptop gehts auch nicht 😞
    was tun? ich könnte es wieder mit GetKeyState() machen, dann geht es wenigstens jedes mal und nicht jedes zweite...



  • ich habe das mittlerweile mal ganz anders versucht. ganz ohne HOTKEY... einfach mit PeekMessage() und dann alles in eine funktion 😉 aber das ist noch verbugter *lol* also funktioniert schon in der regel, aber ich glaub ich mach das einfach wieder mit GetKeyState und frag die alle ab, wenn WM_HOTKEY gesendet wurde, dass war noch am zuverlässigsten


Anmelden zum Antworten