消息是什么_消息和信息有什么区别

消息是什么_消息和信息有什么区别Windows基于消息的模式:一旦程序启动,它只是简单地等待发送给它的消息,然后作出相应的响应。由Windows本身去检测是否有一个键被按下或是否有鼠标移动。当这类事件发生时,Windows

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
Windows 基于消息的模式: 一旦程序启动,它只是简单地等待发送给它的消息,然后作出相应的响应。由 Windows 本身去检测是否有 一个键被按下或是否有鼠标移动。当这类事件发生时,Windows 就向程序发送一条预定义的消息,告诉它发 生了什么。程序一般都有响应消息或不理睬消息的选项。

  ·DOS 过程模式: C++ 代码通常是线性地执行,也就是从程序的开头到结束,每个时刻执行一行代码,或者转移到某行代 码,或者循环执行,以这几种方式运行各段代码。程序要想知道发生了什么,必须通过调用基于中断的子程 序。这些子程序是操作系统内部建立或由硬件实现的。子程序返回时,报告是否有一个键被按下或鼠标做了 移动。

  消息实际上只是在 WINDOWS.H 文件复合体中定义的常量,现在对此应不感到奇怪了。作为例子,下 面列出有关键盘处理和鼠标移动的消息说明:

// Keyboard messages

#define WM_KEYDOWN 0x0100 // Key was pressed

#define WM_KEYUP 0x0101 // Key was released

#define WM_CHAR 0x0102 // Processed keystroke

#define WM_DEADCHAR 0x0103 // Composite key

#define WM_SYSKEYDOWN 0x0104 // Alt key was pressed

#define WM_SYSKEYUP 0x0105 // Alt key was released

#define WM_SYSCHAR 0x0106 // Processed system keystroke

#define WM_SYSDEADCHAR 0x0107 // Composite system keystroke

// Mouse input messages

#define WM_MOUSEMOVE 0x0200 // Mouse was moved

#define WM_LBUTTONDOWN 0x0201 // Left button pressed

#define WM_LBUTTONUP 0x0202 // Left button released

#define WM_LBUTTONDBLCLK 0x0203 // Double click of left button

#define WM_RBUTTONDOWN 0x0204 // Right button pressed

#define WM_RBUTTONUP 0x0205 // Right button released

#define WM_RBUTTONDBLCLK 0x0206 // Double click of right button

#define WM_MBUTTONDOWN 0x0207 // Middle button down

#define WM_MBUTTONUP 0x0208 // Middle button up

#define WM_MBUTTONDBLCLK 0x0209 // Double click of middle button

  不要试图记住这些消息。只要大致看一看,熟悉一下它们的外观和所提供的服务类型就可以了。

  显然,关于消息本身并没有什么神秘之处。它们只是具有有用名字的简单常量,用来通知程序系统当前 的状态。当一个事件发生时,这些消息与其它有用的信息捆绑在一起发送给一个或多个应用程序窗口过程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166379.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月6日 下午7:36
下一篇 2022年8月6日 下午7:36


相关推荐

  • pytest指定用例_测试用例怎么编写

    pytest指定用例_测试用例怎么编写前言测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果.有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回

    2022年8月6日
    8
  • Android hybrid_android混合开发

    Android hybrid_android混合开发关于混合开发常问道的问题:Android如何嵌套h5页面?h5一般调用哪些Android哪些接口功能?Android如何调用网页(js)功能?问题1.ndroid如何嵌套h5页面答案:当我们用vue开发完项目,执行nmprunbuild打包生产dist目录,如何嵌套在Android框架中创建网页存放文件夹,在Android工程res下面添加assets文件夹,把dist目录内容拷贝到assets下。找到Android项目中.xml布局文件,添加webview组件及设置web

    2026年2月14日
    4
  • 0x00和’0′[通俗易懂]

    0x00和’0′[通俗易懂]往往小问题才会折腾很久。msmset((void*)virt,0x00,PAGE_SIZE)和msmset((void*)virt,‘0’,PAGE_SIZE)区别就在于0x00只是为了强调就是数字0,就是为了ASCII码转换的数字0!不是字符‘0’!如果手误将数字0写作字符‘0’,那就达不到用‘\0’清空字符串的目的了。所以最近在内核中分配页的时候总是判断最后一级页表项出错,原来是在allo

    2025年7月5日
    3
  • 【软件测试】测试用例八要素

    【软件测试】测试用例八要素目录测试用例八要素1.测试用例编号2.测试模块3.测试用例标题4.重要级别5.预置条件6.测试输入7.操作步骤8.预期输出测试用例额外的要素1.用例设计者2.用例设计日期3.用例版本号4.对应的开发人员5.测试类型测试用例八要素1.测试用例编号编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性,有且于其和测试结果、错误报告等其他文档的链接。这样看到编号就可以知道是做的什么测试,测试的对象是什么,也方…

    2022年6月28日
    34
  • 「Kimi k2 + claude code」Agent能力实测 来了,一个字:值

    「Kimi k2 + claude code」Agent能力实测 来了,一个字:值

    2026年3月16日
    1
  • Pycharm安装pip pip安装第三方模块

    Pycharm安装pip pip安装第三方模块Pycharm 安装 pippip 安装第三方组建打开 pycharm 文件 设置 项目 projectinter 点击 加号 在搜索栏中选择 pip 勾选红色框内 点击 installpacka 等待安装完成关闭 pycharm 重新打开模块就可以使用了 默认模块安装路径在 python 目录的 scrip

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号