Python 无法使用Pywinauto的“查找”窗口(title=“program.exe”)找到.exe
有人知道pywinauto的find_窗口函数的诀窍吗?我正在使用kivy构建一个应用程序,并尝试使用pywinauto将.exe带到前台,使用以下代码:Python 无法使用Pywinauto的“查找”窗口(title=“program.exe”)找到.exe,python,pywinauto,Python,Pywinauto,有人知道pywinauto的find_窗口函数的诀窍吗?我正在使用kivy构建一个应用程序,并尝试使用pywinauto将.exe带到前台,使用以下代码: SetForegroundWindow(find_window(title='program.exe')) 我只想识别一个当前打开的.exe,并将其放到前台。我看了这里,似乎title=就是我想要的 有人知道如何用pywinauto指向.exe吗 我认为标题是窗口标题,即python-找不到。。。对于此选项卡,您确定它不是更像process
SetForegroundWindow(find_window(title='program.exe'))
我只想识别一个当前打开的.exe,并将其放到前台。我看了这里,似乎title=就是我想要的
有人知道如何用pywinauto指向.exe吗 我认为标题是窗口标题,即python-找不到。。。对于此选项卡,您确定它不是更像process='program.exe'吗 如果它需要是和int,那么它的pid进程id,您可以使用它通过标题获取进程id:
import win32gui,win32process
def get_window_pid(title):
hwnd = win32gui.FindWindow(None, title)
threadid,pid = win32process.GetWindowThreadProcessId(hwnd)
return pid
最终有了这个答案,因为它包含了非常好的获取windows的类,我不想复制粘贴,但使用它,然后你可以做:
w = WindowMgr()
w.find_window_wildcard(".*Hello.*")
w.set_foreground()
find_window是我不推荐使用的低级功能
正确的做法是将应用程序对象连接到目标进程。它可以用于:
from pywinauto import Application
app = Application(backend=“uia”).connect(path=“program.exe”)
app.WindowTitle.set_focus()
如果您有多个应用程序实例,则有一个桌面对象可以遍历系统中的所有窗口:
from pywinauto import Desktop
Desktop(backend=“win32”).window(title=“Window Title”, found_index=0).set_focus()
您参考了0.5.4版的旧文档,最新的版本是0.6.4,有两个后端可用,并修复了许多错误。主页上的入门指南链接是学习主要概念的好来源。我尝试了process,但它说process必须是int。。不知道它指的是什么,谢谢你澄清标题“哈哈”的用法。它正在工作!