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早已退出历史舞台,这个前缀也就约定俗成的沿用下来了。