大佬们好,我是新手小白. 我的目标是给别的窗口发送后台鼠标点击事件. 我尝试了 SendMessage/PostMessaage,但发现了一系列的情况都被限制了:
感觉限制好多啊...有啥办法么? 我正在尝试写一个办公自动化脚本,就是指定不同窗口进行不同的后台自动化工作,而不影响用户在前台的窗口上工作.
1
qianqian888 OP 如果是前台控制鼠标键盘的话,同时就只能干一件事...
|
![]() |
2
dandycheung 94 天前 via Android
你用错 API 了,你去看看 SendInput 。
|
3
qianqian888 OP @dandycheung SendInput 是前台控制,用户的鼠标和键盘直接被接管和控制. 这样就没办法多窗口同时操作了. 是我对 API 的理解有问题么?
|
4
qianqian888 OP @dandycheung 我再去看了一下文档,确实 SendInput 是全局影响的.不是后台点击和输入...
|
![]() |
5
asde111 93 天前
试下把目标窗口隐藏到托盘(SW_HIDE),就是像 qq 那样只剩下一个图标,然后再发送消息;或者
如果只是要点击按钮,获得该按钮的句柄后,给按钮发送 BN_CLICKED 消息;或者 如果目标窗口是浏览器,那么在你的程序里面嵌入个 cef 来打开网页,然后就可以用消息模拟鼠标点击了 |
![]() |
6
passive 93 天前 via Android
现在都是自画的控件,SendMessage/PostMessaage 发个 WM_COMMAND 给母窗口大概都没效果。WM_MOUSE 也不一定会被处理。那个年代过去了。
|
![]() |
7
SWALLOWW 93 天前
看一下游戏脚本怎么写吧。
涉及到几个问题: 1 应该只有窗口最小化不行这个问题是成立的,之前的办法是只露出一下程序窗口,其他的部分移除屏幕外。 2 关于消息响应方式,通过消息的方式你这种,额,有几率行,还有一种直接走驱动的,不会走消息,所以你发送消息是无用的。 |
8
qianqian888 OP |