怎么用sendmessage()发送两个值

要用sendmessage(HWND,UINT,WPARAM,LPARAM)发送两个变量值,比如X和Y,X=1,Y=1用怎么做呢?在网上找了些例子但都是关于按钮的,但我要... 要用sendmessage(HWND,UINT,WPARAM,LPARAM)发送两个变量值,比如X和Y, X=1,Y=1

用怎么做呢?

在网上找了些例子 但都是关于按钮的, 但我要发送的和按钮坐标没关系.. 就是单纯的两个值而已, 望大家指教!

而且, 在接收到消息的那一端,要怎么拆分别得到X和Y的值? 谢谢
LOWORD(lparam)和HIWORD(lparam)是传达按钮坐标信息的时候用的吧?

曾尝试让WPARAM带X值,LPARAM带Y值, 编译的时候出现错误, WPARAM的定义不符..
展开
 我来答
CIW_BLUE
2009-02-23 · TA获得超过487个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:0
展开全部
看这个函数的原型:
第1个参数:HWND,表示你要发送消息的窗口句柄,用FindWindow或者FindowWindowEx就可以获取了,这个容易.
第2个参数:UINT,表示消息ID,有很多消息的类型,这个就要参考MSDN了,比如WM_CREATE,WM_COPYDATA等等
第3个和第4个我们可以理解成:你要发送这个消息的附加参数.
比如吧,你现在要发送2个数值到hWnd去,这个消息是WM_SETTEXT(为了方便处理,我们在发送这个消息,你发送数据可以参考WM_COPYDATA等),2个数字是:100,200的话:
SendMessage(hWnd, WM_SETTEXT, 100, 200);

然后在你的hWnd窗口的消息处理(处理WM_SETTEXT)下:
int nValue1 = int(wParam);
int nValue2 = int(lParam);
就OK了~~
luosiyong
2009-02-22 · TA获得超过3256个赞
知道大有可为答主
回答量:1090
采纳率:0%
帮助的人:1633万
展开全部
SendMessage中的两个参数WPARAM,LPARAM就可以分别带一个值。
但是坐标一般用lParam传递,LOWORD(lparam) 表示x,HIWORD(lparam)表示y。
具体请参考我的笔记:
http://hi.baidu.com/luosiyong/blog/item/484dad8f182d8efc503d9273.html

参考资料: http://hi.baidu.com/luosiyong/blog/item/484dad8f182d8efc503d9273.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BlueWanderer
2009-02-22 · TA获得超过9209个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:2029万
展开全部
可以有N种方法,看具体情况了|||
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式