WinMain函数介绍
鼠标消息处理
#include <Windows.h> //程序入口 //WINAPI __stdcall 参数传递顺序 从右到做左依次入栈 ,返回前情况栈堆 int WINAPI WinMain( HINSTANCE hInstance, //应该程序实例句柄 HINSTANCE hPrevInstance, //上一个应该程序句柄,再win32环境下,一般为NULL, LPSTR lpCMdLine, //char * argv[] int nShowCmd) //显示命令 最大化,最小化 正常 { //1.设计一个窗口 //2.注册窗口 //3.创建窗口 //4.显示和更新 //5.通过循环取消息 //6.处理消息 窗口过程 //1 .设计一个窗口 WNDCLASS wc; wc.cbClsExtra = 0;//类的额外的内存 wc.cbWndExtra = 0;//窗口的附加内存 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //设置背景 wc.hCursor = LoadCursor(NULL, IDC_HAND); //设置光标 ,如果第一个参数为NULL,使用系统默认的光标 wc.hIcon = LoadIcon(NULL, IDI_ERROR); //设置图标 ,如果第一个参数为NULL,使用系统默认的光标 wc.hInstance = hInstance; //应用程序的实例句柄,传同义Windowsd 形参 //wc.lpfnWndProc = WindowProc; //回调函数 wc.lpszClassName = TEXT("WIN");//指定窗口的类名称 wc.lpszMenuName = NULL;//菜单名称 wc.style = 0;//显示风格 0代表默认风格 //2.注册窗口 RegisterClass(&wc); //3.创建窗口 /* lpClassName, 类名 lpWindowName, 标题名 dwStyle, 风格 WS_OVERLSPPEDEINFOW x, y,\ nWidth, 宽 nHeight, 高 hWndParent, 父窗口 hMenu, 菜单 hInstance, 实例句柄 lpParam) 附加值 鼠标附加值 */ HWND hwnd = CreateWindow(wc.lpszClassName, TEXT("WIndows"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); //4.显示和更新 ShowWindow(hwnd, SW_SHOWNORMAL); UpdateWindow(hwnd); //5.通过循环取消息 MSG msg; while (1) { /* _Out_ LPMSG lpMsg, _In_opt_ HWND hWnd, _In_ UINT wMsgFilterMin,消息的最小值 _In_ UINT wMsgFilterMax) 填0代表所有消息; */ if (GetMessage(&msg, NULL, 0, 0) == FALSE) { //如果关闭就退出 break; } //翻译消息 TranslateMessage(&msg); //分发消息 DispatchMessage(&msg); return 0; } }