我想知道为什么WinAPI定义HIBYTE和LOBYTE使用DWORD_PTR(4字节 - 无符号长)而不是WORD(2字节 - 无符号短)
以下定义取自minwindef.h(VS2013)或WinDef.h(VS2008)
#define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff))
#define HIBYTE(w) ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))
而不是
#define LOBYTE(w) ((BYTE)(((WORD)(w)) & 0xff))
#define HIBYTE(w) ((BYTE)((((WORD)(w)) >> 8) & 0xff))