windows程序窗体创建流程模型A--发送自定义消息逻辑上出现Bug
创建windows窗体的基本框架中,定义一个消息宏,发送自定义消息,代码如下
#include<windows.h>#define CustomMessages WM_USER+10
HWND g_hWnd;long __stdcall WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam);
int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow );int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{MSG Message;WNDCLASS WndClass;WndClass.cbClsExtra =0;WndClass.cbWndExtra =0;WndClass.hbrBackground =(HBRUSH)(GetStockObject(WHITE_BRUSH));WndClass.hCursor =LoadCursor(NULL,IDC_ARROW);WndClass.hIcon =LoadIcon(NULL,IDI_APPLICATION);WndClass.hInstance =hInstance;WndClass.lpfnWndProc =WndProc;WndClass.lpszClassName ="Polygon";WndClass.lpszMenuName =NULL;WndClass.style =0;RegisterClass(&WndClass);HWND hWnd;hWnd=CreateWindow("Polygon","CustomMessagesFuck", // lpClassName lpWindowNameWS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if(!hWnd)return FALSE;g_hWnd=hWnd;ShowWindow(hWnd,nCmdShow);UpdateWindow(hWnd);while(GetMessage(&Message,0,0,0)){TranslateMessage(&Message);DispatchMessage(&Message);}return Message.wParam;
}long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam)
{switch(iMessage){
// case WM_PAINT:
// {
// return 0;
// }case WM_DESTROY:{PostQuitMessage(0);return 0;}case CustomMessages:{MessageBox(hWnd,"这是一个自定义消息","CustomMessagesB",MB_OK);return 0;}case WM_RBUTTONDOWN:{::SendMessage(hWnd, CustomMessages, 0, 0);MessageBox(0,0,0,0);}default:{return(DefWindowProc(hWnd,iMessage,wParam,lParam));}}
}
程序运行正常,但是将上面代码的注释部分取消以后,重新运行应用程序以后,点击右键程序就崩了,what‘s the fuck?我估计是消息队列中出现了问题但是我没办法确定,哎!!!!!!!!!!!!!!what‘s the fucking windows’s kernel!!!!!!!!!!!!!!!!!!
windows程序窗体创建流程模型A--发送自定义消息逻辑上出现Bug相关推荐
- windows程序窗体创建流程模型A--利用基本数据类型
windows窗口创建的过程(具体步骤,都是固定的).在回调函数中画了一个图案,但这不是本程序的重点.重点在于创建窗口的过程,下面是代码 这是非常重要的一步,对于理解有windowsAPI架设的框架是 ...
- 关于Windows程序崩溃(Crash)以及生成dump文件的探究
文章目录 关于Windows程序崩溃(Crash)以及生成dump文件的探究 什么是崩溃(Crash),崩溃(Crash)的现象 崩溃(Crash)的原因是什么 如何消除崩溃时出现的异常信息对话框 如 ...
- Windows消息循环理解及窗体创建步骤
首先理解一句话:"Windows"向应用程序发送了一条消息.这里是指Windows调用了该程序内部的一个函数. 当UpdateWindow被调用后,新建的窗口在屏幕便完全可见了.此 ...
- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜单 快捷方式...
{================================================================= 功 能: 创建 桌面.发送到 ...
- 启动盘安装windows系统时提示:“windows安装程序无法创建新的分区,也找不到现有分区”的解决方法
在使用启动盘安装Windows系统时有时会遇到无法安装的问题,选定主分区或新建主分区出现"windows安装程序无法创建新的分区,也找不到现有分区"的提示信息,导致安装失败.提示信 ...
- 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 Windows无法安装所需的文件,错误代码0x80070570
此非主讲安装过程,主说明过程中遇到的两个问题自己的解决方式. 准备: 准备以下Win7纯净版iso镜像,用Boot Camp方式安装Windows到16GU盘. Win7纯净版资源 问题一: Boot ...
- t430服务器安装系统,戴尔Dell T430安装Windows 2008 R2教程,解决安装程序无法创建新的系统分区,也无法定位现有系统分区。...
图文教程 https://www.dell.com/support/article/zh-cn/SLN307187/ 安装系统时所需的磁盘阵列卡驱动 SAS RAID驱动, https://www.d ...
- windows程序消息机制(Winform界面更新有关)--转
1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队 ...
- windows程序消息机制(Winform界面更新有关)
1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队 ...
最新文章
- 实力封装:Unity打包AssetBundle(大结局)
- Objective-C 执行外部命令
- 图网络中的社群及社群发现算法
- xss防御补丁_Discuz论坛最新dom xss漏洞的解决方法
- VRay5.0 for 3dsMax2016-2021及素材库
- java留言板源码_jsp留言板示例源码下载(入门级)
- 2012-7-07可樂词汇积累#9314;
- linux下phylip软件构建NJ树,MEGA软件——系统发育树构建方法(图文讲解)
- 计算机管理无效,win7右键菜单管理无效恢复方法
- 尼古拉·特斯拉16句经典名言
- 问卷设计中 你经常使用计算机吗,计算机应用基础课程调查问卷
- java利用poi导出excel功能-附带图片导出
- 手把手教你设计一个CSDN系统
- 2021年中国多晶硅产量、进出口及重点企业营收情况:多晶硅产量为50.5万吨,产能约52万吨/年[图]
- 地平线黎明时分dlc评测_我从第一个玩法中学到的地平线零黎明的提示
- ubuntu可爱的玩具:小猫咪 oneko
- 如何设置数据库最大连接数
- 【汇正财经】股票指数定义是什么?我国的股票指数有哪些?
- 云计算的未来发展趋势与优势,你是否了解?
- hihocoder 闰秒