MFC 在后台运行的程序中 模拟鼠标点击(不影响当前鼠标的操作!)
首先我用findwindow获得了窗口的句柄hh=CWnd::FindWindow(NULL,"xxx");//xxx为某一窗口h->MessageBox("已经绑定到x...
首先我用 findwindow 获得了 窗口的句柄 h
h=CWnd::FindWindow(NULL,"xxx");//xxx为某一窗口
h->MessageBox("已经绑定到xxx");//这句可以成功执行
然后问题就出现了
1.我用:
h->PostMessage(WM_RBUTTONDBLCLK, 0, MAKELONG(10,10) );
2.或用:
::PostMessage(h->m_hWnd,WM_RBUTTONDOWN,MK_RBUTTON,MAKELONG(10,10));
3或者用h->SendMessage(WM_LBUTTONDOWN, 0, MAKELONG(10,10) );
h->SendMessage(WM_LBUTTONUP, 0, MAKELONG(10,10) );
都无法对目标窗口发送成功鼠标的消息····
注意 不要提供这种方法
SetCursorPos(kx.left+910,kx.top+200);//防御
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
我要的是模拟鼠标点击 而真正的鼠标是不受影响的 希望能提供源代码
貌似可以用 directinput 但是具体怎么用那 要提供什么com呢
希望有人可以提供源代码 谢谢 展开
h=CWnd::FindWindow(NULL,"xxx");//xxx为某一窗口
h->MessageBox("已经绑定到xxx");//这句可以成功执行
然后问题就出现了
1.我用:
h->PostMessage(WM_RBUTTONDBLCLK, 0, MAKELONG(10,10) );
2.或用:
::PostMessage(h->m_hWnd,WM_RBUTTONDOWN,MK_RBUTTON,MAKELONG(10,10));
3或者用h->SendMessage(WM_LBUTTONDOWN, 0, MAKELONG(10,10) );
h->SendMessage(WM_LBUTTONUP, 0, MAKELONG(10,10) );
都无法对目标窗口发送成功鼠标的消息····
注意 不要提供这种方法
SetCursorPos(kx.left+910,kx.top+200);//防御
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
我要的是模拟鼠标点击 而真正的鼠标是不受影响的 希望能提供源代码
貌似可以用 directinput 但是具体怎么用那 要提供什么com呢
希望有人可以提供源代码 谢谢 展开
4个回答
展开全部
你要确认h是响应鼠标消息的窗口。有的窗口是多个窗口嵌套的。也许响应鼠标消息的是在其子窗口中说不定。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遇到相同问题,我在CSDN上喊了好几天都没人能真正解决,不过我遇到的一些类似问题用PostMessage和SendMessage可以,但有一些就不行,真不知是为什么???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如何判断消息没有发送成功?用SPY++监视过目标窗口的消息吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询