我在创建主窗口后创建了一个窗口,但在其句柄上调用DestroyWindow关闭了整个应用程序,我该如何摆脱它?为什么DestroyWindow关闭我的应用程序?
它看起来像这样:
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
HWND fakehandle;
hInst = hInstance; // Store instance handle in our global variable
hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_EX_LAYERED,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
fakehandle = CreateWindow(szWindowClass, "FAKE WINDOW", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!hWnd || !fakehandle)
{
return FALSE;
}
//some code
DestroyWindow(fakehandle);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
我怎么能摧毁这个窗口不会破坏我的主吗?我正在创建一个虚拟窗口来检查OpenGL中的多重采样。
感谢
你是否检查过“hWnd”和“fakehandle”是不同的? – ChrisF 2010-05-25 21:29:38
是的,他们是不同的根据调试... – jmasterx 2010-05-25 21:30:09
不要故意批评你,因为我相信你也有一个很好的理由。 Justo想要了解为什么要开发一个Windows应用Petzold风格? – 2010-05-25 21:38:26