WM_USER 与 WM_APP

来源:互联网 发布:充电电流检测软件 编辑:程序博客网 时间:2024/05/29 08:44
 
WM_USER  与 WM_APP
#define WM_GET (WM_USER+112) 和 #define WM_GET (WM_APP+112)除了值不同外,有区别吗?
(1)WM_USER through 0x7FFF Integer messages for use by private window classes. WM_APP through 0xBFFF Messages available for use by applications.
(2)默认规则是以WM_USER+X(WM_USER--0x7fff)用于窗口级的消息,WM_APP+X(WM_APP--0xbfff)用于进程级的消息.  
(3)我的理解:第一种定义用于进程内消息,第二种定义用于进程间消息
(4)约定俗成的一种规则。
 WM_USER through 0x7FFF: 仅在自己预定义的窗口内部使用;
 WM_APP through 0xBFFF: 在应用程序的其他地方均可使用
例一:
如果程序的所有窗口和所有控件完全由你一个人实现,你完全可以不遵守这一规则。
但若有其他人写的代码或加载了外来的控件,如果你不遵守这一规则,发生冲突的概率会明显加大,可能会出现意想不到的结果。
例二:
这样的:我的COM里需要定义一个通知消息,来通知应用程序为它填充缓冲,这个COM是一个进程内的COM,当我#define   WM_GET   (WM_USER+112)   时,通过测试30次,可能要失败1次,用#define   WM_GET   (WM_APP+112)时,30次全成功,但现在不敢肯定是它引起的,有可能其他地方还会有影响。
 
 
原创粉丝点击