• 5331阅读
  • 3回复

[提问]后台在某程序窗口的某个坐标位置实现鼠标点击有可能么? [复制链接]

上一主题 下一主题
离线纵刀少年
 

只看楼主 倒序阅读 楼主  发表于: 2014-06-11

就是我的QT程序运行后,能够在后台实现:在如浏览器窗口的页面特定坐标位置上实现鼠标的点击。(要点击的窗体是其他qt无关的窗体)

现在我的调试进度是:句柄、坐标的获取等都不成问题,前台的话,所有操作都实现了。

但现在希望将程序做成后台也能操作,就不知道该如何后台处理鼠标点击这操作了。之前我是用windows的API函数mouse_event的,但其没有指定窗口句柄之类的参数。网上说send message也能实现鼠标点击,但对于点击的东西,需要其句柄而不是坐标。请问还有其他办法么?

VOID mouse_event(DWORD dwFlags, // motion and click options

DWORD dx, // horizontal position or change

DWORD dy, // vertical position or change

DWORD dwData, // wheel movement

ULONG_PTR dwExtraInfo // application-defined information

);

离线纵刀少年

只看该作者 1楼 发表于: 2014-06-11
自问自答,找到答案了,用sendmessage就行了!  
     SendMessage(par_hwnd, WM_LBUTTONDOWN, NULL, MAKELPARAM(x,y));
    delay(1);
    SendMessage(par_hwnd, WM_LBUTTONUP, NULL, MAKELPARAM(x,y));
par_hwnd对应窗口句柄。x,y是窗口坐标系的位置坐标。
离线xhxui

只看该作者 2楼 发表于: 2014-07-19
楼主,请教一下,这样的后台操作是怎么实现的?
比如:点击Qt窗体中一个按钮后,执行在后台的画图窗口中点文字工具、点画板、输入123。
能贴一段完整的代码吗,谢谢
离线lingdhox

只看该作者 3楼 发表于: 2014-07-20
回 xhxui 的帖子
xhxui:楼主,请教一下,这样的后台操作是怎么实现的?
比如:点击Qt窗体中一个按钮后,执行在后台的画图窗口中点文字工具、点画板、输入123。
能贴一段完整的代码吗,谢谢 (2014-07-19 15:21) 

楼主的代码是针对win32窗口的. 每个button, textedit都是有handle的.
Qt一般情况是handleless的.
快速回复
限100 字节
 
上一个 下一个