#include <windows.h>
HINSTANCE hInst;
HWND hWnd;
MSG msg;
WNDCLASSEX wc;
bool FullScreen = false;
WINDOWPLACEMENT wpc;
LRESULT CALLBACK WndProc(HWND hWnd, UINT Message, UINT wParam, LONG lParam)
{
switch(Message)
{
case WM_KEYDOWN:
if(wParam == VK_SPACE)
{
if(!FullScreen)//Из оконного во весь экран
{
GetWindowPlacement(hWnd,&wpc);//Сохраняем параметры оконного режима
SetWindowLong(hWnd,GWL_STYLE,WS_POPUP);//Устанавливаем новые стили
SetWindowLong(hWnd,GWL_EXSTYLE,WS_EX_TOPMOST);
ShowWindow(hWnd,SW_SHOWMAXIMIZED);//Окно во весь экран
FullScreen = true;
}
else//Из всего эранна в оконное
{
SetWindowLong(hWnd,GWL_STYLE,WS_OVERLAPPEDWINDOW|WS_VISIBLE);//Устанавливаем стили окнного режима
SetWindowLong(hWnd,GWL_EXSTYLE,0L);
SetWindowPlacement(hWnd,&wpc);//Загружаем парметры предыдущего оконного режима
ShowWindow(hWnd,SW_SHOWDEFAULT);//Показываем обычное окно
FullScreen = false;
}
}
return 0;
break;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,Message,wParam, lParam);
}
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
hInst=GetModuleHandle(NULL);
wc.cbSize=sizeof(WNDCLASSEX);
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.hInstance = hInst;
wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = "PPC";
if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Cant register window!", "Error!", MB_OK);
return 0;
}
DWORD Style;
if(!FullScreen)
Style = WS_OVERLAPPEDWINDOW |WS_VISIBLE;
else
Style = WS_POPUP | WS_EX_TOPMOST;
hWnd = CreateWindow("PPC", "Sample", Style, 0, 0,
CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL);
if(!hWnd)
{
MessageBox(NULL, "Cant create window!", "Error!", MB_OK);
return 0;
}
ShowWindow(hWnd, SW_SHOWDEFAULT);
UpdateWindow(hWnd);
ZeroMemory(&msg, sizeof(msg));
while(msg.message!=WM_QUIT)
{
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
UnregisterClass( "PPC", wc.hInstance );
return 0;
}