WM_CLOSE、WM_DESTROY、WM_QUIT区别

WM_CLOSE:关闭应用程序窗口

WM_DESTROY:关闭应用程序

WM_QUIT:关闭消息循环

只有关闭了消息循环,应用程序的进程才真正退出(在任务管理器里消失)。

点击窗口右上角的关闭按钮,或选择【File/Close】,发出 WM_CLOSE消息。CMyFrameWnd 并没有设置WM_CLOSE 处理常式,于是交给预设之处理常式即缺省窗口函数defwindoeproc。预设函数对于WM_CLOSE 的处理方式是呼叫 ::DestroyWindow, 并因而发出WM_DESTROY。预设之WM_DESTROY 处理方式是呼叫::PostQuitMessage,因此发出WM_QUIT。CWinApp::Run 收到WM_QUIT 后会结束其内部之回路。从而结束整个winmain函数。

WM_CLOSE 消息发出的时候,用户可以根据自己的意愿来选择到底是否关闭,WM_DESTORY 是真的关闭一个窗口。WM_QUIT是退出一个应用程序

WM_CLOSE、WM_DESTROY、WM_QUIT区别相关推荐

  1. 梦中情人sbl新变种snow.exe,snowfall.exe的分析

    作者:清新阳光                                                            ( [url]http://hi.baidu.com/newcen ...

  2. els 方块向右移动边界判断、向下加速

    1.函数实现(els.c) #include"els_h.h" //背景数组 char g_arrBackGroud[20][10] = {0}; char g_arrSqare[ ...

  3. windows桌面程序: 俄罗斯方块 C++

    先打开VS,创建解决方案 选择windows应用程序 在源文件文件夹下新建tetris.cpp文件,用来写我们实现俄罗斯方块的代码 代码及其注释如下所示: /* 创建窗口 win32窗口的创建过程主要 ...

  4. java 如何打开osk_如何通过程序(C++语言开发)去将osk隐藏或者关闭??

    你好, 感谢您在MSDN论坛发帖提问. >>如何通过程序(C++语言开发)去将osk隐藏或者关闭?? TerminateProcess函数用于无条件地导致进程退出.此函数停止执行进程中的所 ...

  5. [转]VC常用小知识

    [转]VC常用小知识   (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现. AfxGetMai ...

  6. 对话框处理TAB按键事件的三种方法

    对话框(Dialog)分为模态对话框和非模态对话框(Modeless Dialog).非模态对话框不能处理TAB键.快捷键等按键事件,也就是说用户不能在非模态对话框中通过按TAB键切换各控件之间的焦点 ...

  7. WM_CLOSE、WM_DESTROY、WM_QUIT, SENDMESSAGE ,POSTMESSAGE

    1.发送消息SendMessage.PostMessage PostMessage将消息放入消息队列后马上返回,而SendMessage直到窗口过程处理完消息后才返回 2.三个消息的区别 WM_CLO ...

  8. WM_QUIT WM_CLOSE 区别

    WM_CLOSE:关闭应用程序窗口 WM_DESTROY:关闭应用程序 WM_QUIT:关闭消息循环 只有关闭了消息循环,应用程序的进程才真正退出(在任务管理器里消失). Win32应用程序的完整退出 ...

  9. GetMessage和PeekMessage的区别及PostMessage(hWnd, WM_QUIT, 0, 0)消息

    关于这个两个函数的详细信息: BOOL GetMessage(   LPMSG lpMsg,              // 一个MSG的指针   HWND hWnd,               / ...

  10. 说说WM_DESTROY和WM_NCDESTROY的区别

    在一个 Windows 窗口被销毁的时候,你会发现有两个比较类似的消息:WM_DESTROY和WM_NCDESTROY,那么,这俩兄弟之间有什么区别呢?今天就来讲讲. 不同之处在于,WM_DESTRO ...

最新文章

  1. 脑机接口中的后门攻击
  2. shiro注销其他用户_Shiro实现互斥登录,并踢出登录用户功能。
  3. How to post a Java object to http end point which accepts json string
  4. mysql日志管理_关于MySQL的日志管理(binlog)
  5. 2012年3月编程语言排行榜:JavaScript超越Perl和Python
  6. python四级考试时间_四级英语考试如何准备呢?
  7. VS2010 + OpenCV2.3配置 ; 在VS2010下安装配置OpenCV2.3 ; 全程截图,绝对能配置好,不能的留言!...
  8. nginx -- 负载均衡
  9. BCH编码——c语言代码
  10. 基于opencv的人脸识别
  11. 图片去水印Inpaint5.2汉化破解便携版
  12. CentOS7 配置防火墙规则应对漏洞扫描
  13. 混淆矩阵 confusion_matrix
  14. 将m个相同的球全部放到n个相同的盒子里面有几种放法
  15. vue按住shift键多选(以element框架的table为例)
  16. 自制低成本3D激光扫描测距仪(3D激光雷达),第二部分
  17. linux操作系统上网本下载,Veket-上网本操作系统
  18. 大数据分析虚拟仿真系统建设方案
  19. windows 配置host
  20. 程序员高效率工作工具推荐(必备工具)

热门文章

  1. Laravel 5.4 首次搭建,从 clone 到运行成功
  2. ERP系统健康体检的三大指标
  3. sersync实现多台服务器实时同步文件
  4. 浅析C#中的文件操作
  5. logback-spring.xml文件配置
  6. Github README.md中添加图片
  7. mysql 哨兵_第六课补充01——主从复制原理,哨兵机制
  8. linux服务器启动ftp连接
  9. java生成base64图片条形码
  10. Windows10 安装 protobuf