W
Erzeug dir dein fenster doch gleich im "fullscreen modus"
Bei mir funktioniert das recht angenehm:
int width = 800, // default groesse / position
height = 600,
posX = 100,
posY = 100;
DWORD dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE,
dwStyle = WS_OVERLAPPEDWINDOW;
// Setup screen settings
if( fullscreen )
{
DEVMODE dmScreenSettings;
// fenstergroesse der bildschirmaufloessung anpassen
width = (GetSystemMetrics(SM_CXSCREEN);
height = (GetSystemMetrics(SM_CYSCREEN);
memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
dmScreenSettings.dmSize = sizeof(dmScreenSettings);
dmScreenSettings.dmPelsWidth = (unsigned long)width; // screen width
dmScreenSettings.dmPelsHeight = (unsigned long)height; // screen height
dmScreenSettings.dmBitsPerPel = 32; // bits per pixel
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
// display settings auf full screen stellen
if (ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
{
// display mode failed zurueck zum windowed
MessageBox(NULL, L”kein fullscreen mode moeglich”, “Oh, oh..”, MB_OK);
fullscreen = false;
}
// x und y position ganz in die ecke
posX = posY = 0;
}
// immernoch fullscreen?
if( fullscreen )
{
dwExStyle = WS_EX_APPWINDOW; // Window Extended Style
dwStyle = WS_POPUP; // Windows Style
}
// fenster erzeugen
OutputWnd = CreateWindowEx( dwExStyle,
lpszClassName,
lpszClassName,
dwStyle,
posX, posY, width, height,
NULL,
NULL,
hInstance,
NULL);
// habe fertig
wenn du jetzt auf die windowstaste kommst passiert gar nix.
alt+tab funktioniert noch ( sollte kein problem darstellen )
windows + tab funktioniert noch
sollte eigentlich die lösung sein die du gesucht hast wenn du ein spiel im fullscreen mode erstellen willst. Das deaktivieren von alt + tab / windows + tab würde ich dem user vorbehalten...
happy coding