注册 登录
编程论坛 VC++/MFC

求助向窗口发送鼠标消息

lisux 发布于 2013-06-03 12:34, 5916 次点击
有一窗口假设大小800*600
已经得到该窗口的句柄,现在想给它发送鼠标左键或者右键消息。
SendMessage和PostMessage都可以发,但是这两个函数只能往该窗口某一(X,Y)坐标发送。
我现在是想,有没有办法或者其他API函数向这个窗口800*600全部位置一次发送鼠标消息过去?
希望有懂的可以帮帮忙,先谢了!

我是新手,刚来没什么分数,望见谅!
5 回复
#2
yuccn2013-06-03 13:44
    LPARAM lParam = MAKELPARAM(nPosX,nPosY);
    ::SendMessage(m_hWndLLK, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
    ::SendMessage(m_hWndLLK, WM_LBUTTONUP, MK_LBUTTON, lParam);
#3
lisux2013-06-03 15:59
以下是引用yuccn在2013-6-3 13:44:42的发言:

    LPARAM lParam = MAKELPARAM(nPosX,nPosY);
    ::SendMessage(m_hWndLLK, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
    ::SendMessage(m_hWndLLK, WM_LBUTTONUP, MK_LBUTTON, lParam);


这个发送过去只是发送到指定的X,Y坐标上,
不可能所有坐标都一个一个填写上去吧?
我现在是想有没有可能发一次,或者是较少次就可以完成800*600这个窗口所有位置都接受到消息。
#4
yuccn2013-06-03 18:33
以下是引用lisux在2013-6-3 15:59:40的发言:

 
 
这个发送过去只是发送到指定的X,Y坐标上,
不可能所有坐标都一个一个填写上去吧?
我现在是想有没有可能发一次,或者是较少次就可以完成800*600这个窗口所有位置都接受到消息。

估计你还不理解消息机制。不是窗口位置接受消息的,而是窗口,不是位置。
#5
yuccn2013-06-03 18:34
窗口接受消息和窗口大小无关。
#6
lisux2013-06-03 21:32
回复 4楼 yuccn
和位置有关系的啊
坐标不一样,点击的地方就不一样,效果也就不一样了。
1