getclassname void* to struct HWND_*



  • Hi, 🙂

    kann mir vieleicht mal jemand helfen, warum er mir nen fehler bei
    GetClassName((HANDLE)wParam, text, TXTLENGTH);

    macht: error C2664: 'GetClassNameA' : cannot convert parameter 1 from 'void *' to 'struct HWND__ '
    Conversion from 'void
    ' to pointer to non-'void' requires an explicit cast

    LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam)
    {
    if(code==HCBT_ACTIVATE)
    {
    GetClassName((HANDLE)wParam, text, TXTLENGTH);
    if (text[0]=='I' && text[1]=='E') //Class name of Internet-Explorer begins with IE
    IE_is_active=TRUE;
    else
    IE_is_active=FALSE;
    }

    return CallNextHookEx(hhookMsg, code, wParam, lParam);
    }

    die funktion benutze ich in einer DLL um herauszufinden ob der InternetExplorer aktiv ist. das ganze habe ich vorher als hook gestartet...

    DLL_EXPORT void SetKbHook(void)
    {
    if(!bHooked)
    {
    hhook = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, hInst, (DWORD)NULL);
    hhookMsg = SetWindowsHookEx(WH_CBT, (HOOKPROC)CBTProc, hInst, (DWORD)NULL);
    bHooked = TRUE;
    }
    }



  • Nach HWND casten, nicht nach HANDLE



  • jetzt klappt es...


Anmelden zum Antworten