python后台鼠标点击问题

jason110163 2020-08-11 11:46:49
请问如何实现后台点击鼠标


我以win系统自带计算器为例做了测试,发现无法点击。



import win32gui, win32ui, win32con, win32api

#hwnd为需要点击的窗口句柄,cx、cy为点击位置在该窗口的相对坐标

hwnd = win32gui.FindWindow(0, "计算器")
print(hwnd)

def doClick(cx,cy):
long_position = win32api.MAKELONG(cx, cy)#模拟鼠标指针 传送到指定坐标
win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position)#模拟鼠标按下
win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position)#模拟鼠标弹起
print(cx,cy)

doClick(327,436)


请大家帮我看看问题出在哪里?

...全文
1802 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_62470722 2022-02-14
  • 打赏
  • 举报
回复

哈哈,通道中人,我也是拿计算器为例,搞后台点击,也是没用,唉!,有没有大神解决一下啊啊

陈年椰子 2020-09-28
  • 打赏
  • 举报
回复
我是用 SetCursorPos 和 mouse_event 来实现点击。


win32api.SetCursorPos([mx, my])
# 执行左单键击,若需要双击则延时几毫秒再点击一次即可
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧