python win32api sendmessage_python win32api模拟后台鼠标点击的问题。

目前在开发脚本,结果遇到了这么个奇怪的事情

发现在句柄获取成功情况下,程序处于最小化/后台的时候,最后一句按键模拟的代码会起作用,

但是上面的两行鼠标的代码就不起作用,

一开始是感觉程序把这个api给屏蔽了,

但后来发现程序窗口在桌面但是没焦点的情况下 back1 那句话是有效的,

但是back2始终不起作用,

个人有一种猜想是代码起作用了,但是没点击到正确位置,窗口没有反应,导致以为没有效果。

然而这种猜想,我用chrome浏览器操作,在正确的坐标下是可以有点击事件触发的。所以我也不确定这种猜测是否正确。

另外我经过查询,发现有些程序启用了DirectX后,会绕过windows的消息机制,导致这个SendMessage失效,也许这也是原因,那这种情况该用什么好呢?

请大神赐教!

back1 - 鼠标左键按下

back2 - 鼠标左键弹起

long_position - 点击坐标坐标

hwnd - 窗口坐标

x,y - 后台鼠标点击坐标

long_position = win32api.MAKELONG(x, y)

time.sleep(0.05)

back1 = win32api.SendMessage(hwnd,win32con.WM_LBUTTONDOWN,win32con.MK_LBUTTON,long_position)

time.sleep(0.05)#上下行代码不起作用(或者说是没有效果)

back2 = win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON,long_position)

time.sleep(0.05)

win32api.SendMessage(hwnd,win32con.WM_KEYFIRST,68,None)#起作用

求赐教!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值