BOOL IsWindowMode = TRUE;
WINDOWPLACEMENT wpc;
LONG HWNDStyle = 0;
LONG HWNDStyleEx = 0;
void FullScreenSwitch()
{
if (IsWindowMode)
{
IsWindowMode = FALSE;
GetWindowPlacement(HWNDWindow, &wpc);
if (HWNDStyle == 0)
HWNDStyle = GetWindowLong(HWNDWindow, GWL_STYLE);
if (HWNDStyleEx == 0)
HWNDStyleEx = GetWindowLong(HWNDWindow, GWL_EXSTYLE);
LONG NewHWNDStyle = HWNDStyle;
NewHWNDStyle &= ~WS_BORDER;
NewHWNDStyle &= ~WS_DLGFRAME;
NewHWNDStyle &= ~WS_THICKFRAME;
LONG NewHWNDStyleEx =HWNDStyleEx;
NewHWNDStyleEx &= ~WS_EX_WINDOWEDGE;
SetWindowLong(HWNDWindow, GWL_STYLE, NewHWNDStyle | WS_POPUP);
SetWindowLong(HWNDWindow, GWL_EXSTYLE, NewHWNDStyleEx | WS_EX_TOPMOST);
ShowWindow(HWNDWindow, SW_SHOWMAXIMIZED);
}
else
{
IsWindowMode = TRUE;
SetWindowLong(HWNDWindow, GWL_STYLE, HWNDStyle);
SetWindowLong(HWNDWindow, GWL_EXSTYLE, HWNDStyleEx);
ShowWindow(HWNDWindow, SW_SHOWNORMAL);
SetWindowPlacement(HWNDWindow, &wpc);
}
}
該代碼將窗口切換爲全屏和後窗。 (WINAPI,並且需要在窗口模式下啓動目標進程)
您需要找到第二個應用程序公開的API觸發全屏模式。否則,其內部狀態將全部搞砸。 –
謝謝我已經有一種感覺,這將是唯一的選擇。但我不確定。 –