我在創建主窗口後創建了一個窗口,但在其句柄上調用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