Windows消息范围及意义

#define WM_USER 0x0400 
#define WM_APP 0x8000

0到WM_USER-1 
Messages reserved for use by the system 
系统预留使用的消息

WM_USER到0x7FFF 
Integer messages for use by private window classes 
被私有窗口类使用的消息

WM_APP到0xBFFF 
Messages available for use by applications 
被应用程序使用的消息

0xC000到0xFFFF 
String messages for use by applications 
被应用程序使用的字符串消息

大于0xFFFF 
Reserved by the system 
系统预留

WM_USER与WM_APP的区别

WM_USER到0x7FFF: 
仅在自己预定义的窗口内部使用

WM_APP到0xBFFF: 
在应用程序的其他地方均可使用

注意:这只是一种约定俗成的规则,约定只是best practice,并不是说你不这么做就一定会出问题. 
如果程序的所有窗口和所有控件完全由你一个人实现,你完全可以不遵守这一规则. 
但若有其他人写的代码或加载了外来的控件,如果你不遵守这一规则,发生冲突的概率会明显加大,可能会出现意想不到的结果.

RegisterWindowMessage

The RegisterWindowMessage function defines a new window message that is guaranteed to be unique throughout the system. 
The message value can be used when sending or posting messages. 
UINT RegisterWindowMessage(LPCTSTR lpString) 
The RegisterWindowMessage function is typically used to register messages for communicating between two 
cooperating applications. 
If two different applications register the same message string, the applications return the same message value. 
The message remains registered until the session ends. 
Only use RegisterWindowMessage when more than one application must process the same message. 
If the message is successfully registered, 
the return value is a message identifier in the range 0xC000 through 0xFFFF.

http://blog.csdn.net/hisinwang/article/details/45771711

最新文章

  1. 【Go入门教程8】总结(25个关键字)
  2. HttpSessionListener和HttpSessionBindingListener监听session的销毁
  3. MySql5.7.12设置log-bin
  4. 使用PHP处理文本小技巧
  5. ArrayList,Hashtable,List<T>,Dictionary<K,V>
  6. 26 个 jQuery使用技巧
  7. 标签跳转break和continue
  8. 【模板】【网络流】Dinic
  9. 关于Latch
  10. spring data jpa自定义bean字段映射
  11. Day01_变量,数据类型_程序交互_流程控制
  12. 201521123088 《Java程序设计》第1周学习总结
  13. Java Proxy和CGLIB动态代理原理
  14. 5.移植uboot-设置默认环境变量,裁剪,并分区
  15. 如何在Cocos2D游戏中实现A*寻路算法(三)
  16. 聊聊String
  17. ioremap_nocache() 函数的使用【转】
  18. Servlet拓展
  19. LaTeX技巧207:使用align环境输入多行公式的技巧
  20. Android App 内存泄露之调试工具(1)

热门文章

  1. [Angular] Using the Argon 2 Hashing Function In Our Sign Up Backend Service
  2. Android AutoWrapTextView 解决中英文排版问题
  3. Win10系统如何设置所有程序默认以管理员身份运行?
  4. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
  5. 关于Android中设置闹钟的相对完善的解决方案
  6. POJ 1384 Piggy-Bank (ZOJ 2014 Piggy-Bank) 完全背包
  7. angular自定义指令相关知识及代码
  8. 使用 Google Guava 美化你的 Java 代码:1~4 【转】
  9. [D3] Load and Inspect Data with D3 v4
  10. 【Nutch2.2.1基础教程之1】nutch相关异常 分类: H3_NUTCH 2014-08-08 21:46 1549人阅读 评论(2) 收藏