键盘消息简单示例
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, UINT, LONG);
int WINAPI WinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInst,
	LPSTR lpszCmdLine,
	int nCmdShow
)
{
	//定义变量
	MSG Msg;
	HWND hwnd;
	WNDCLASS wndclass;
	char lpszClassName[] = "窗口";
	char lpszTitle[] = "win";
	//初始化窗体
	wndclass.style = 0;
	wndclass.lpfnWndProc = WndProc;
	wndclass.cbClsExtra = NULL;
	wndclass.cbWndExtra = NULL;
	wndclass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
	wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
	wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wndclass.hInstance = hInstance;
	wndclass.lpszClassName = lpszClassName;
	wndclass.lpszMenuName = NULL;
	//注册
	if (!RegisterClass(&wndclass))
	{
		MessageBeep(0);
		return FALSE;
	}
	hwnd = CreateWindow(
		lpszClassName,
		lpszTitle,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		NULL,
		NULL,
		hInstance,
		NULL
	);
	//显示和更新窗口
	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);
	//消息循环
	while (GetMessage(&Msg, NULL, 0, 0))
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
	
}
//综合知识应用
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, UINT wParam, LONG lParam)
{
	switch (message) {
	case WM_KEYDOWN:
	{
		switch (wParam)
		{
		case VK_UP:
			MessageBox(NULL, "up", "消息", NULL);
			break;
		case VK_SHIFT:
			MessageBox(NULL, "shift", "消息", NULL);
			break;
		}
	}
	break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, message, wParam, lParam);
	}
	return 0;
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号