WPARAM与LPARAM 之区别
来源:互联网 发布:mac删除office2011 编辑:程序博客网 时间:2024/05/21 10:56
WPARAM与LPARAM 之区别
在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别。因为地址通常是32位的,所以LPARAM被用来传递地址,这个习惯在Win32 API中仍然能够看到。在Win32 API中,WPARAM和LPARAM都是32位,所以没有什么本质的区别。Windows的消息必须参考帮助文件才能知道具体的含义。如果是你定义的消息,愿意怎么使这两个参数都行。但是习惯上,我们愿意使用LPARAM传递地址,而WPARAM传递其他参数。
-------------
wParam和lParam
这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数:
一个是WORD类型的16位整型变量; 另一个是LONG类型的32位整型变量。
因此根据匈牙利命名法,16位的变量就被命名为wParam, 而32位的变量就被命名为lParam。
到了Win32API中,原来的16位变量也被扩展为32位,因此wParam和lParam的大小完全相同。
在Win32API的早期,为了保证和Win16API的代码可移植性MS定义了WPARAM和LPARAM两个宏。
当时保留了w前缀的原因一方面是由于WPARAM宏也已W开头,
还有也因为要提醒程序员注意到可移植性,当然到了现在
Win16早已退出历史舞台,这个前缀也就约定俗成的沿用下来了。
习惯用wParam作为数类型的参数,LPARAM作为指针。
lParam为long型,与指针类型大小一样,用它传地址较合适
WPARAM--- A value passed as a parameter to a window procedure or callback function: 16 bits on Windows versions 3.0 and 3.1; 32 bits on Win32
LPARAM--- A 32-bit value passed as a parameter to a window procedure or callback function.
in other words, in Win32 platform they have no difference.
- WPARAM与LPARAM 之区别
- WPARAM与LPARAM的区别
- WPARAM与LPARAM的区别
- WPARAM与LPARAM的区别
- Wparam与Lparam的区别
- WPARAM与LPARAM有什么区别
- 搞清楚了WPARAM与LPARAM的区别
- Wparam与Lparam的区别(转)
- tagMSG 与 (WPARAM wParam,LPARAM lParam)
- (转载)WPARAM与LPARAM
- WPARAM 与 LPARAM
- WPARAM 与 LPARAM
- wParam与 lParam
- WPARAM 和 LPARAM的区别
- wParam和lParam的区别
- WPARAM 和 LPARAM的区别
- WORD,DWORD,WPARAM,LPARAM 区别
- WPARAM wParam, LPARAM lParam
- php.ini 配置详细选项
- 探讨SQL Server 2005.NET CLR编程
- 让getElementsByName适应IE和firefox
- C语言的函数传地址(25)
- 30岁前的男人,需要完成的事
- WPARAM与LPARAM 之区别
- 看黑客如何避开安全设备
- web.config
- 递归与非递归解决组合问题
- C#编程技巧集之--使用C#轻松编写.Net组件
- CDMA 机卡一体手机写号入网的两种方式
- CDMA手机鉴权的过程说明
- wangzhi
- 计算机系统解析图