(win7/win10系统下) python 如何实现后台点击鼠标左键? 160C

import win32gui
import win32api
import win32con

if name == '__main__':
p1 = (30, 255)
handle = win32gui.FindWindow(None, '计算器')
rect = win32gui.GetWindowRect(handle)
win32api.SetCursorPos((rect[0] + p1[0], rect[1] + p1[1]))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

-------------------------------------

import win32gui
import win32api
import win32con

if name == '__main__':
p1 = (30, 255)
handle = win32gui.FindWindow(None, '计算器')
tmp = win32api.MAKELONG(p1[0], p1[1])
win32api.SendMessage(handle, win32con.WM_MOUSEMOVE, win32con.MK_LBUTTON, tmp)
win32api.SendMessage(handle, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, tmp)
win32api.SendMessage(handle, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, tmp)

-------------------------------------

(win7/win10系统下) 第一段代码可以实现前台点击,第二段代码尝试多种变型都无法实现前台点击,跟不用说后台点击,请高手帮忙解答。谢谢。

回复caozhy:
1.WM_MOUSEMOVE 时,MK_LBUTTON改成0依然没有效果
2.win7/win10下,spy++无法跟踪计算器的消息,有些软件的消息可以跟踪。原因不明。

回复qq_38282192:
什么意思?不太明白

2个回答

一行一行检查,首先,handle有没有获取到,其次,mousemove的时候不需要MK_LBUTTON,设置为0就可以了。最后tmp的值打印下,看看坐标是多少
注意,坐标是相对客户区的不是屏幕或者窗口左上角。
https://msdn.microsoft.com/en-us/library/ms645616(VS.85).aspx
你可以先用spy++看下,你去操作计算器,然后看它记录下的消息,再照着做。

按TAB键的上一键就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐