Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用Pywinauto的“查找”窗口(title=“program.exe”)找到.exe_Python_Pywinauto - Fatal编程技术网

Python 无法使用Pywinauto的“查找”窗口(title=“program.exe”)找到.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

有人知道pywinauto的find_窗口函数的诀窍吗?我正在使用kivy构建一个应用程序,并尝试使用pywinauto将.exe带到前台,使用以下代码:

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。。不知道它指的是什么,谢谢你澄清标题“哈哈”的用法。它正在工作!