我写的一个Win32程序,使用WinMain和WinProc的基本Windows程序,WinMain中的关键程序片段如下:
...
//Show the window
ShowWindow(hwnd, SW_SHOWDEFAULT );
UpdateWindow(hwnd);//do Some prepare work
SendMessage(hwnd, UM_PREPARE, NULL, NULL);while (GetMessage (&msg, NULL, 0, 0))
{
    TranslateMessage (&msg);
    DispatchMessage (&msg);    //update window
    InvalidateRect(hwnd, NULL, TRUE);
    UpdateWindow(hwnd);
}其中UM_PREPARE对应的处理时间非常长,需要一两个小时,并不断在窗口显示处理进度。程序一开始可以运行,但是如果切换一下窗口,再切换回来,那么程序就死掉了,不能执行了。研究了半天没明白错误在哪里,就问问大家,给个答案或者提示,谢谢了!