Bessere alternative zu der bisherigen Window Setfocus Variante gesucht



  • So durch die Suche stiess ich auf folgendes:

    HWND hwnd = GetForegroundWindow();
         if(hwnd != Handle )
         {
         RECT r;
         GetWindowRect(hwnd, &r);
         SetWindowPos(hwnd, Handle, r.left, r.top, r.right-r.left, r.bottom-r.top, SWP_SHOWWINDOW);
         int pos1=Form1->Left;
         int pos2=Form1->Top;
            SetCursorPos(pos2+100,pos1+10);
            mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            }
    

    Also das Fenster wird nach vorne geholt, aber blieb immer grau.
    Daher habe ich erstmal, eine Lösung gebastelt, die das Fenster aktiviert.
    Und zwar mit nen Mouseklick.

    Aber so toll ist das ja nicht, leider klappte SetFocus oder BringToTopnicht wirklich.

    Hatt da einer noch so eine Idee oder vielleicht, gibt es ja eine Möglichkeit die
    Anwendung zu aktivieren.

    Aktuell ist es nur die Form1, aber externe Programme wären auch möglich.

    Bitte liebe Mods nicht schliessen, das Thema mit SetforegroundWindow etc, ist ja abgearbeitet, nun gehts ja um aktivieren des Fensters.



  • Ich versuchs mal in der Winapi Rubrik neu.


Anmelden zum Antworten