注册 登录
编程论坛 新人交流区

怎样结束进程

skyzwch 发布于 2007-11-09 12:33, 365 次点击

我是刚学vc,碰到一个问题,代码如下:
#include <stdio.h>
#include <windows.h>

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

int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor = LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon = LoadIcon(NULL,IDI_EXCLAMATION);
wndcls.hInstance = hInstance;
wndcls.lpfnWndProc = WinProc;
wndcls.lpszClassName = "zl";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW || CS_VREDRAW;

RegisterClass(&wndcls);

HWND hwnd;
hwnd = CreateWindow("zl","测试",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,SW_SHOWNORMAL);

MSG msg;
while(GetMessage(&msg,hwnd,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return 0;
}

LRESULT CALLBACK WinProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
switch(uMsg)
{
case WM_CHAR:
char sz[20];
sprintf(sz,"按键的ASCII码为:%d",wParam);
MessageBox(hwnd,sz,"信息",MB_OK);
break;
case WM_RBUTTONDOWN:
MessageBox(hwnd,"右键点击","信息",MB_OK);
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}

return 0;
}

在运行之后,我要关闭窗口,可是只能把窗口销毁,却无法结束进程,不知道为什么?

1 回复
#2
混混亮仔2007-11-09 15:11
1