python模拟操作用win32api,win32gui 等API获取到一个菜单句柄后,如何点击?

发布于 2022-09-04 08:54:27 字数 998 浏览 15 评论 0

第一次做模拟的操作,不太懂模拟,
clipboard.png
如图已经获取到系统设置这个句柄

clipboard.png
网上找了demo,demo里只有用win32api.SetCursorPos([30,150])这样定死的坐标,我觉得不应该这么死的呀,应该可以根据句柄获取坐标的吧?
还有可不可以直接对这个发送点击操作?应该怎么写代码?

或者获取一些相对坐标什么的?想请问大神们应该怎么写后面的代码?
下面的是我参照DEMO写的

#-*-coding:utf-8-*-
#http://www.jb51.net/article/49214.htm
import os
import time
import win32gui
import win32api
import win32con
from PIL import ImageGrab
#os.startfile("D:\\artcut6\\Prog\\Artcut6.exe")
#time.sleep(1)
wdname1=u"软件标题"
w1hd=win32gui.FindWindow(0,wdname1)
print w1hd
#获取第一个子UI句柄
w2hd=win32gui.FindWindowEx(w1hd,None,None,None)
print w2hd
#获取'系统设置'的句柄
w3hd=win32gui.FindWindowEx(w2hd,None,None,'系统设置')
print w3hd

#获取窗口焦点
win32gui.SetForegroundWindow(w3hd)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沉睡月亮 2022-09-11 08:54:27

left, top, right, bottom = win32gui.GetWindowRect(hwnd)
win32api.SetCursorPos((left+5,top+5))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文