Aktiven Focus finden



  • Hallo,

    ich möchte eine kleine Exe schreiben die nichts anderes tut als aktiven Focus herauszufinden und zu überprüffen ob es sich um EditCtrl handelt.

    Mit der Fkt. GetForegroundWindow erhalte ich schon mal das aktive Window.

    Diese zwei Zeilen

    hWndT = ::GetForegroundWindow();
    pWnd = CWnd::FromHandle(hWndT);
    if (pWnd == NULL)
    pFWndT = pWnd->GetFocus();

    bringen aber kein gewünschtes Ergebnis.

    Hat jemand eine Idee?


  • Mod

    GetFocus und SetFocus sind threadlokal. D.h. man kann nicht den Focus einen fremden Prozesses/Threads so ermitteln.

    Der einzige Weg führt dann über AttachThreadInput, aber das hast Du sicher in der Doku von GetFocus gelesen? 🤡
    http://msdn.microsoft.com/en-us/library/ms646294(VS.85).aspx



  • In der Tat. GetFocus, SetFocus habe ich zum Schluss auch so verstanden.

    Alles klar. Probiere es mit AttachThreadInput.

    Danke


Log in to reply