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 之区别相关推荐

  1. Wparam与Lparam的区别(转)

    Wparam与Lparam的区别 在Win32 SDK中消息本身是作为一个结构体记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.这个记录类型叫做MSG,它在window中是这样声明的: ...

  2. Wparam与Lparam的区别

    在Win32 SDK中消息本身是作为一个结构体记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.这个记录类型叫做MSG,它在window中是这样声明的:  typedef struct t ...

  3. 关于wParam和lParam

    在VC的函数参数中常出现WPARAM和LPARAM,这两个有什么特殊意义么?它们的含义是不是要事先定义? WPARAM和LPARAM一般在消息里面用的很多,其实没有特殊的含义的.    是两普通的变量 ...

  4. WPARAM 与 LPARAM

    WPARAM LPARAM2008-09-03 17:25根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型 ...

  5. WPARAM 与 LPARAM 参数的解析 [C#、WinAPI]

    先略谈一下什么是WPARAM 与 LPARAM 参数: 在我们的程序和WindowAPI打交道时,特别是在处理鼠标键盘消息时,WPARAM 与 LPARAM 参数会经常出现.在Win32 API中,W ...

  6. WPARAM 与 LPARAM

    WPARAM LPARAM2008-09-03 17:25根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型 ...

  7. wParam与 lParam

    根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型参数)的缩写. WPARAM:16位(双字节(在16位系统 ...

  8. (转载)WPARAM与LPARAM

    根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型参数)的缩写. WPARAM:16位(双字节(在16位系统 ...

  9. 十三:谈谈MSG中的 WPARAM 和 LPARAM

    第一:WPARAM 和 LPARAM 是什么东西 typedef uint wparam;//就是无符号整形          typedef long lparam;//就是长整形 typedef ...

最新文章

  1. MNE-Python : TypeError: today() takes no keyword arguments
  2. php提供的用户密码加密函数
  3. 是否会成为问题——Linq to Sql的执行可能无法复用查询计划
  4. 【剑指offer】_01 (二维数组中的查找)
  5. 吴恩达深度学习4.2练习_Convolutional Neural Networks_Residual Networks
  6. java转sap hybris方向_SAP Hybris的Convertor, Populator, Facade和DTO这几个概念是如何协同工作的...
  7. 什么是北大核心期刊,一篇文章带你彻底弄懂
  8. 暗影精灵3 PLUS 安装黑苹果
  9. 关于学籍管理系统的可行性研究报告
  10. mysql千万测试表生成,随机id、username、age、sex、create_time
  11. selenium driver关闭
  12. 累加器 java_Spark笔记之累加器(Accumulator)
  13. 自定义地雷数的扫雷(控制台运行)
  14. AsyncTask实例
  15. U盘安装Linux系统教程
  16. 1.亿级流量电商详情页系统实战--主节点部署redis
  17. python爬取bilibili数据_如何使用Python爬取bilibili视频(详细教程)
  18. 云服务器物理机在,一个云服务器会在两个物理机上吗
  19. 第4季1:将AR0130摄像头更换为OV9712摄像头
  20. 中国MEMS传感器行业运营模式调研及投资效益分析报告2022-2027年

热门文章

  1. 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一)
  2. “.CHM文件”无法打开
  3. Python 中复数运算注意点
  4. WPF 如何画出1像素的线
  5. plc 滑台流程图_直线滑台模组PLC控制说明
  6. Citus集群拓扑架构介绍
  7. 【Java】Callable 接口
  8. Git的基本概念和SourceTree的使用
  9. 在python中使用FP-growth算法
  10. s-tui:在 Linux 中监控 CPU 温度、频率、功率和使用率的终端工具