VC设置窗口全屏并且最前面显示(hWnd为需要全屏显示的窗口) //设置窗口全屏并且置顶 int screenX = GetSystemMetrics(SM_CXSCREEN); int screenY = GetSystemMetrics(SM_CYSCREEN); ::SetWindowPos(hWnd,HWND_TOPMOST,0,0,screenX,screenY,SWP_SHOWWINDOW); //设置窗口工作区显示(工作区是指屏幕上不被系统任务条或应用程序桌面工具遮盖的部分)并且置顶 //RECT rWorkArea; //BOOL bResult = SystemParametersInfo(SPI_GETWORKAREA, sizeof(RECT), &rWorkArea, 0); //::SetWindowPos(hWnd,HWND_TOPMOST,rWorkArea.left,rWorkArea.top,rWorkArea.right,rWorkArea.bottom,SWP_SHOWWINDOW); //显示窗口在最前面,且是否居中 if (bCenter) { int scrWidth,scrHeight; RECT rect; scrWidth=GetSystemMetrics(SM_CXSCREEN); scrHeight=GetSystemMetrics(SM_CYSCREEN); ::GetWindowRect(pWnd->GetSafeHwnd(),&rect); ::SetWindowPos(pWnd->GetSafeHwnd(),HWND_TOPMOST,(scrWidth-rect.right+rect.left)/2,(scrHeight-rect.bottom+rect.top)/2, 0,0,SWP_NOSIZE|SWP_SHOWWINDOW); } else { ::SetWindowPos(pWnd->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE); } /// //显示窗口在最前面,且是否居中(最小化就先恢复) if (pWnd->IsWindowVisible() && !pWnd->IsIconic()) { return TRUE; } if (pWnd->IsIconic()) { pWnd->ShowWindow(SW_NORMAL); } if (bCenter) { int scrWidth,scrHeight; RECT rect; scrWidth=GetSystemMetrics(SM_CXSCREEN); scrHeight=GetSystemMetrics(SM_CYSCREEN); ::GetWindowRect(pWnd->GetSafeHwnd(),&rect); ::SetWindowPos(pWnd->GetSafeHwnd(),HWND_TOPMOST,(scrWidth-rect.right+rect.left)/2,(scrHeight-rect.bottom+rect.top)/2, 0,0,SWP_NOSIZE|SWP_SHOWWINDOW); } else { ::SetWindowPos(pWnd->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE); }