15 DEVMODE dmScreenSettings;
17 StringAsWCHAR_ptr(config.ApplicationName, LPCWSTR applicationName);
22 wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
28 wc.hIconSm = wc.hIcon;
29 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
30 wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
31 wc.lpszMenuName = NULL;
32 wc.lpszClassName = applicationName;
33 wc.cbSize =
sizeof(WNDCLASSEX);
40 if (config.Fullscreen)
42 memset(&dmScreenSettings, 0,
sizeof(dmScreenSettings));
43 dmScreenSettings.dmSize =
sizeof(dmScreenSettings);
44 dmScreenSettings.dmPelsWidth = (
unsigned long)
_screenWidth;
46 dmScreenSettings.dmBitsPerPel = 32;
47 dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
49 ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);
58 posX = (GetSystemMetrics(SM_CXSCREEN) -
_screenWidth) / 2;
63 AdjustWindowRect(&wr, WS_OVERLAPPEDWINDOW, FALSE);
65 _hWnd = CreateWindowEx(
69 WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME,
80 ShowWindow(
_hWnd, SW_SHOW);
81 SetWindowLong(
_hWnd, GWL_STYLE, GetWindowLong(
_hWnd, GWL_STYLE) & ~WS_MAXIMIZEBOX);
82 SetForegroundWindow(
_hWnd);
85 ShowCursor(config.ShowCursor);