几年前我写了一个免费游戏:http ://www.walkover.org 。对于大厅和菜单,它使用像 win32 这样的普通对话框。当实际游戏开始时,它使用 OpenGL。
现在,在 Windows 7 上,当实际游戏开始时,它会关闭 windows aero glass,并在游戏结束时将其重新打开。
我能做些什么来防止这种情况发生吗?一些特殊的标志可以让玻璃保持打开状态?(对于较新的,我一直在使用 DirectX,但这不会发生在那里。)也许我必须在某处指定一些(新)标志?
我正在使用这个像素格式描述符:
static PIXELFORMATDESCRIPTOR pfd =
{
sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd
1, // version number
PFD_DRAW_TO_WINDOW | // support window
PFD_SUPPORT_OPENGL | // support OpenGL
PFD_DOUBLEBUFFER, // double buffered
PFD_TYPE_RGBA, // RGBA type
32, // 24-bit color depth
0, 0, 0, 0, 0, 0, // color bits ignored
0, // no alpha buffer
0, // shift bit ignored
0, // no accumulation buffer
0, 0, 0, 0, // accum bits ignored
0, // 32-bit z-buffer
0, // no stencil buffer
0, // no auxiliary buffer
PFD_MAIN_PLANE, // main layer
0, // reserved
0, 0, 0 // layer masks ignored
};