CFormView Fenster in den Vordergrund bringen
-
Hallo,
ich schreibe ein Programm, das in einer NamedPipe darauf wartet, dass eine Nachricht gesendet wird. Wird eine Nachricht empfangen, soll das Fenster sich in den Vordergrund vor alle anderen Fenster schieben. Ich habe schon einiges gefunden, auch in diesem Forum, bin aber zu keiner funktionierenden Lösung gekommen. Benutze folgenden Code in InitInstance() der App
CString strWndTitle = "Communication Server"; // der Titel wird erst eingetragen, wenn das Fenster initialisiert ist // Gucken ob Programm mit dem Fenstertitel bereits läuft HWND hwnd = FindWindow( NULL, strWndTitle.GetBuffer() ); if(hwnd) { CWnd pWndPrev; // das bereits bestehende Programm dem aktuellen Programm zuweisen pWndPrev.Attach(hwnd); // das bereits bestehende Programm in den Vordergrund holen pWndPrev.SetForegroundWindow(); // das bereits bestehende Programm wieder vom aktuellen Programm lösen pWndPrev.Detach(); // Da das Return sich auf die InitInstance-Funktion des 2ten Programm bezieht // wird dieses dann geschlossen, hätte man vorher nicht pWndPrev.Detach() gemacht, // würde das erste Programm auch geschlossen werden return FALSE; } // hier wird jetzt der Fenstertitel eingetragen (Ermittlung weiter oben) m_pMainWnd->SetWindowText( strWndTitle );
Muss ich das vielleicht noch an einer anderen Stelle schreiben? Oder gibt es eine andere Möglichkeit. Wäre nett, wenn jemand was weiß und mich ncht nur an andere Themen verweist
Vielen Dank!