用VC++写了一个win32程序,运行时无响应(内有代码)?

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:43:07
#define WIN32_LEAN_AND_MEAN

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

#define WINDOW_CLASS_NAME "WINCLASS1"

LRESULT CALLBACK WindowProc(HWND hwnd,
UINT msg,
WPARAM wparam,
LPARAM lparam)
{
PAINTSTRUCT ps;
HDC hdc;
switch(msg)
{
case WM_CREATE:
{
return(0);
}break;

case WM_PAINT:
{
hdc=BeginPaint(hwnd,&ps);
EndPaint(hwnd,&ps);
return (0);
}break;

case WM_DESTROY:
{
PostQuitMessage(0);
return(0);
}break;

default:break;

}
return(DefWindowProc(hwnd,msg,wparam,lparam));
}

int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
WNDCLASSEX winclass;
HWND hwnd;
MSG

少了这句:

winclass.lpszClassName=WINDOW_CLASS_NAME;

并且你这句应该是NULL:

winclass.lpszMenuName=WINDOW_CLASS_NAME;

语法很多行无用,并且写法很不好。。。

比如switch的clause中已经return了,还加了break;

你在CreateWindow后就直接return 了,当然没窗口显示
在while之前加上这两句
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

综合上面2位的意见....