ÜBer FindWindow neues Fenster in einer Anwendung erzeugen
-
Hallo, ich wollte folgendes machen:
Mir über FindWindow ein Fensterhandle geben lassen und in dieses ("fremde")Programmfenster ein neues(eigenes) Fenter einbetten.DIeses Fremdprogramm ist ein Spiel, welches sowohl im Vollbildmodus als auch im Fenstermodus laufen kann.
Im Fenstermodus funktioniert alles ohne Probleme, aber im Vollbildmous seh ich mein Fenster immer nur kurz aufploppen und sofort wieder verschwinden.Hat einer ne Idee woran das liegen kann?
mfg
-
wahrscheinlich wird es dann gleich wieder "überschrieben",
bei normalen fenstern hilft es das fenster ganz nach vorne zu holen.
zB bei SetWindowPosBOOL SetWindowPos( HWND hWnd, // handle to window HWND hWndInsertAfter, // placement-order handle int X, // horizontal position int Y, // vertical position int cx, // width int cy, // height UINT uFlags // window-positioning flags );2. parameter = HWND_TOPMOST, funktioniert bei meinen fenstern ganz gut ^^
-
Das dachte ich mir eben auch. Diese Funktion benutz ich auch schon. Funzt auch in normalen Fenstern eigentlich ohne Probleme...nur im Vollbildmodus nicht

Hab es sowohl mit:
SetWindowPos(hEmbWindow, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_SHOWWINDOW);als auch
SetWindowPos(hEmbWindow, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);sowie beide mit HWND_TOPMOST
ausprobiert...
So, sieht aus als würde es jetzt funktionieren:
SetWindowPos(hEmbWindow, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_DRAWFRAME | SWP_NOACTIVATE | SWP_SHOWWINDOW); RECT rc; GetClientRect(hEmbWindow, &rc); InvalidateRect(hEmbWindow, &rc, true);macht das was ich will
