一个关于Windows SDK 编程中 窗口创建的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:03:01
运行都没有问题,就是我在关闭窗口的时候,我点击是后,窗口是销毁了,但是在进程里还有! 我在消息处理关于 WM_CLOSE 和WM_DESTROY的时候都感觉没有问题,所以有点不明白到底是怎么回事请! 请高手指点!

#include<stdio.h>
#include<windows.h>

LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASS wincls;
wincls.cbClsExtra=0;
wincls.cbWndExtra=0;
wincls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH) ;
wincls.hCursor=LoadCursor(hInstance,IDC_CROSS);
wincls.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wincls.hInstance=hInstance;
wincls.lpfnWndProc=WinSunProc;
wincls.lpszClassName="windows";
wincls.lpszMenuName=NULL;
wincls.style=CS_VREDRAW|CS_HREDRAW;

RegisterClass(&wincls);

H

while(GetMessage(&msg,hwnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
};
这里有问题
当你DestroyWindow(hwnd);后,hwnd是无效值,在PostQuitMessage就没有意思了,GetMessage()永远不返回0,程序就不结束。
我见过有的程序直接GetMessage(&msg,NULL,0,0)