点击阅读原文


现在易论坛很多人都喜欢在“发送消息”等操作时直接用数字,往往又不知道什么数字代表什么意思,也无从查起。
比如,有人说16是关闭窗口,那么请问17是什么?绝大部分的人不知道,即使你去问C++高手,也是绝大部分不知道的。
当初微软定义这些常量的时候,是为了让这些枯燥的数字更好记忆、阅读,可是现在很多易语言程序员却反其道行之,实在是不好的习惯。

我来说一下“发送消息---SendMessage”的基本知识。希望对大家有用。
首先,英文并不可怕,提倡中文编程是好事,完全排斥英文就不是好事了。在微软定义API、消息常量时,这些英文名称都是有含义的,而且大部分是生活中常用的英文单词。首先说一下SendMessage,这是Send(发送)+Message(消息)

再来说一下SendMessage的参数:
SendMessage(窗口句柄,消息,参数1,参数2)
消息一般为 WM_xxx相关的消息常量,比如WM_CLOSE,解释一下这里的WM=Window Message=窗口消息,CLOSE=关闭,这样一说就理解了吧?前两三个字母代表消息类型,后面的就是含义了,这样比你记数字不知道好多少。很多人用了那么久都不知道16是什么对不?可如果说Close的话,很多人都是知道的,毕竟这是常用英语单词,不说别的,家里的DVD等就有写类似单词。

后面的参数1、2,根据不同的消息,代表不同的含义,具体需要查MSDN,在MSDN里每个消息都有说明。

WM=Window(窗口)Message(消息)
WM_ACTIVATE=Window Message Activate(激活)
WM_COPY    =Window Message Copy(复制)
WM_CLOSE   =Window Message Close(关闭)

理解了之后,其实“发送消息”是很容易通过自己查询手册来实现某些功能的。Windows就是通过消息机制来控制窗口的,多查一下这些消息常量,很多常用的窗口操作都可以实现。
在此,我建议大家平常多用消息常量,少用数字,因为数字实在太难读了,根本没法单独从数字读懂意思。
另外,在易语言里使用这些常量需要自己手工声明,可能有的人嫌麻烦就直接填写了数字,其实自动声明常量的工具有很多,善用工具会让你事半功倍。

参考:http://blog.csdn.net/exiaoyin/article/details/51913018
补充:MSDN  的全称是 Microsoft Developer Network。一般我们平常所说的MSDN是指MSDN Library,程序员必备手册,涵盖了微软全套可开发产品线的技术开发文档和科技文献(部分包括源代码)。

发送消息(SendMessage)常识普及相关推荐

  1. Win32 API 发送消息 SendMessage/PostMessage

    1. Windows消息 Windows是一个基于事件的操作系统, 事件的本质是对消息的封装, 如鼠标移动点击, 键盘按键, 窗口移动尺寸变化等都会发送相应的消息. Windows操作系统中包括以下几 ...

  2. SendMessage和PostMessage发送消息(不同进程传递字符串)

    一.函数功能 SendMessage函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数PostMessage不同,将一个消息寄送到一个线程的消息 ...

  3. 融云发送图片消息_发送消息

    发送消息 文本消息¶ import { sendMessage, ConversationType, ObjectName } from "rongcloud-react-native-im ...

  4. java发送苹果消息慢_Spring-boot JMS 发送消息慢的解决方法

    Spring-boot JMS 发送消息慢的问题解决 @Service public class Producer { @Autowired private JmsMessagingTemplate ...

  5. ssm配置socket_ssm框架中集成websocket实现服务端主动向客户端发送消息

    找了很多配置文档及实例说明,也还是没能成功,最终在csdn博客中发现了基于stomp的消息推送的文章, 下面整理自csdn博客,https://blog.csdn.net/u013627689/art ...

  6. Android笔记(三十一)Android中线程之间的通信(三)子线程给主线程发送消息...

    先看简单示例:点击按钮,2s之后,TextView改变内容. package cn.lixyz.handlertest;import android.app.Activity; import andr ...

  7. C# 获得窗体句柄并发送消息(利用windows API可在不同进程中获取)

    C#使用Windows API获取窗口句柄控制其他程序窗口 编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口.比如,操作飞信定时发送短信等.我之前开发过飞信耗子,用的 ...

  8. C# 重写WndProc及发送消息

    阅读目录 重写WndProc方法来处理 Windows 消息 C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值(2) C# 重写WndProc 拦截 发送 系统消息 + w ...

  9. C#中发送消息给指定的窗口到消息循环

    public class Note     {         //声明 API 函数         [DllImport("User32.dll", EntryPoint =  ...

最新文章

  1. 16~40K | 星猿哲科技招聘3D视觉算法工程师
  2. 软银机器人Pepper上岗必胜客,顾客可通过机器人预订披萨
  3. 成功解决OSError: [Errno 28] No space left on device
  4. 18c分布式事务 oracle_分布式事务的现象及理解
  5. c语言考试算法,c语言考试常用算法docx.docx
  6. python向数据库传输数据时弹出not enough arguments for format string怎么办
  7. 多功能时钟电路的设计框图_一种病理组织漂片多功能一体机的设计
  8. 201521123121 《Java程序设计》第14周学习总结
  9. HTTP返回代码代表的含义(403,404,500,502,504)
  10. 计算机日常知识试题,计算机基础知识及日常维护测试题
  11. 小技巧 ----- 关于Java中的System.arraycopy()
  12. 用Dart搭建HTTP服务器(1)
  13. 判断是否是质数 c++java
  14. adb ps shell 查看进程,如何使用ADB命令检测正在运行的应用程序
  15. Winform--处理MDI父窗体与子窗体的交互
  16. 思维导图ubuntu_Ubuntu——思维导图导安装和configuration area错误
  17. 笔记学习:关于如何使用ESPwifi模块与51单片机通信
  18. linux ext4 文件大小,刨根问底:ext3/ext4文件系统最大空间及单个文件大小演算法则...
  19. redis的配置文件修改
  20. JS 设置适配屏幕分辨率大小

热门文章

  1. 怎么把小丑的可怕和疯狂表现出来
  2. JavaScript window对象之atob()和btoa()
  3. RequireJS - 用法
  4. win7系统如何查看自己电脑IP
  5. spider_review-爬虫复习1.0
  6. Java正则匹配字母,数字,特殊字符
  7. Life Restart 人生模拟器 网址
  8. 当老板让程序员换灯泡…… | 每日趣闻
  9. 4个设计师必备的设计网站,马住了
  10. 和女友一起学技术,她去了字节,我去了华为