纠结了半天,还是写吧

typedef struct tagMSG {
    HWND        hwnd;  // 接收消息的窗口的句柄。 当消息是线程消息时,此成员为 NULL 。
    UINT        message; // 消息标识符。 用于唯一标识消息的数字。
    WPARAM      wParam;  // 消息的附加信息。 参数含义和取值取决于具体消息。
    LPARAM      lParam;  // 消息的附加信息。 参数含义和取值取决于具体消息。
    DWORD       time;    // 消息进入队列的时间
    POINT       pt;      // 消息进入队列时鼠标指针的位置坐标。
#ifdef _MAC
    DWORD       lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
typedef struct tagPOINT
{
    LONG  x;
    LONG  y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
typedef struct tagRECT
{
    LONG    left;    // 总被赋予 0
    LONG    top;     // 总被赋予 0
    LONG    right;   // 宽度
    LONG    bottom;  // 高度
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;