一个定义如下
LRESULT SendMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
LRESULT PostMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);问题如下:
1、LRESULT是什么
2、HWND,UINT ,WPARAM,....LPARAM lParam这些个数据类型各有什么含义,从而可以查到与这些数据类型相关的信息。谢谢大家,送100分。
LRESULT SendMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
LRESULT PostMessage(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);问题如下:
1、LRESULT是什么
2、HWND,UINT ,WPARAM,....LPARAM lParam这些个数据类型各有什么含义,从而可以查到与这些数据类型相关的信息。谢谢大家,送100分。
LRESULT一般是指向返回值的指针
HWND hWnd, // 目标窗口句柄
UINT Msg, // 被发送的消息
WPARAM wParam, // 第一个消息参数
LPARAM lParam // 第二个消息参数
);
hWnd
窗口过程接收消息的窗口句柄。如果此参数为HWND_BROADCAST,则消息被送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口。消息不被送到子窗口。
Msg
指定被发送的消息;
wParam
指定附加消息的特定信息;
lParam
指定附加消息的特定信息。
HWND: 窗口句柄, Windows 的每个窗口都有一个 HWND
UINT: unsigned int 无符号整型
Parameter 是参数的意思, WPARAM 是 Word Parameter, LPARAM 是 Long Parameter
Win 3.x 中 WPARAM 是 2 个字节(WORD), LPARAM 是 4 个字节(Long), Win32 中 WPARAM 和 LPARAM D都是 32 位的, 所以有些名不副实了. WPARAM 和 LPARAM 为 Windows 消息提供一些补充信息, 如 WM_KEYUP 消息的 WPARAM 表示按键编码, WM_QUIT 的 WPARAM 表示程序退出代码
typedef __int64 LONG_PTR;
#else
typedef long LONG_PTR;
#endif返回值而已
Msg wParam lParam不是三个变量吗?
这种最最基础的东西,任何人对你的解释都是操蛋的,除了MSDN和Read the fucking source code。
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam); LRESULT :就是一个32-bit的值,一般是窗口函数的返回值
HWND :是一个窗口句柄,它标示了一个窗口
UINT :是一个宏,unsigned int
WPARAM 和LPARAM :两个都是32位值,代表了消息的参数,对不同的消息,他们的值是不同的!
typedef LONG LPARAM; 长整形
typedef LONG LRESULT; 长整形