如何使用python检测窗口是否存在?
正如标题所说,我想知道一种使用python检测窗口是否存在的方法。我使用它是为了在文本文件有一个或多个字符串实例时关闭窗口。我知道如何检测字符串,以及如何关闭窗口(尽管除了ahk和pyautogui.press()之外,是否有更好的方法可以关闭窗口而不终止进程),但我不知道如何检测窗口是否存在。为了澄清,我想检测窗口,而不是进程,因为正在关闭的应用程序也在后台运行 我不擅长解释,所以如果有什么我需要解释的,请尽管问 最后一件事,我正在使用Python3.x 使用我枚举所有窗口并检查窗口标题:如何使用python检测窗口是否存在?,python,python-3.x,Python,Python 3.x,正如标题所说,我想知道一种使用python检测窗口是否存在的方法。我使用它是为了在文本文件有一个或多个字符串实例时关闭窗口。我知道如何检测字符串,以及如何关闭窗口(尽管除了ahk和pyautogui.press()之外,是否有更好的方法可以关闭窗口而不终止进程),但我不知道如何检测窗口是否存在。为了澄清,我想检测窗口,而不是进程,因为正在关闭的应用程序也在后台运行 我不擅长解释,所以如果有什么我需要解释的,请尽管问 最后一件事,我正在使用Python3.x 使用我枚举所有窗口并检查窗口标题: 导
导入win32gui
def get_window_titles():
ret=[]
def winEnumHandler(hwnd,ctx):
如果win32gui.IsWindowVisible(hwnd):
txt=win32gui.GetWindowText(hwnd)
如果是txt:
ret.append((hwnd,txt))
win32gui.EnumWindows(winEnumHandler,无)
回程网
所有标题=获取窗口标题()
window_start=lambda title:[(hwnd,full_title)对于(hwnd,full_title),如果为full_title,则为所有_title中的(hwnd,full_title)。startswith(title)]
所有匹配的窗口=窗口开始('无标题-记事本')
如果linux需要这个,有一个项目可以简化这个任务。这是在windows、linux和mac上吗?窗口与流程有何不同?进程是否有多个窗口?是否只关闭一个窗口而不关闭整个过程?
from ahk import AHK
ahk = AHK()
win = ahk.win_get(title='Untitled - Notepad')
win.close()