编译无错误可是 运行无法响应 大家帮我看看程序有问题么

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:51:15
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInst,
LPSTR lpszCmdLine,
int nCmdShow)
{ HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[] = "窗口";
char lpszTitle[] = "窗口示例程序";
wndclass.style = 0;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = lpszClassName;
if( ! RegisterClass( & wndclass))
{ MessageBeep(0);
return FALSE;
}

我调了一宿,终于还是找出毛病了:
while(GetMessage( & Msg, NULL,0,0));
{ TranslateMessage( & Msg);
DispatchMessage( & Msg);
}

这句while后面多了一个分号去除就能响应了
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}

楼主一定要给分呀找的我好辛苦

手头没有编译器,要不就给你调试了....抱歉

在VC下运行正确,就是关不掉。比较邪门。调试发现根本不到case WM_DESTROY的条件语句中。WM_CLOSE、WM_DESTROY、WM_QUIT都不响应。