以下是一个示例代码,可以按标题查找窗口并将焦点放在该窗口上:
import win32gui
import re
def find_window_by_title(title):
# 使用通配符匹配标题
pattern = re.compile(title.replace("*", ".*"), re.IGNORECASE)
def callback(hwnd, hwnds):
if pattern.match(win32gui.GetWindowText(hwnd)):
hwnds.append(hwnd)
return True
hwnds = []
win32gui.EnumWindows(callback, hwnds)
return hwnds
def set_focus_to_window(hwnd):
win32gui.SetForegroundWindow(hwnd)
# 示例用法
title = "My Window*"
hwnds = find_window_by_title(title)
if hwnds:
set_focus_to_window(hwnds[0])
print("焦点已放在窗口上:%s" % win32gui.GetWindowText(hwnds[0]))
else:
print("没有找到匹配的窗口")
这个示例使用win32gui模块来进行窗口操作。find_window_by_title函数使用EnumWindows枚举所有的窗口,并通过GetWindowText获取窗口标题来匹配通配符。set_focus_to_window函数使用SetForegroundWindow将焦点设置到指定的窗口上。
在示例中,title变量定义了要查找的窗口的标题,可以使用通配符*进行模糊匹配。find_window_by_title函数返回所有匹配的窗口的句柄列表,如果存在匹配的窗口,则使用set_focus_to_window函数将焦点设置到第一个匹配的窗口上。最后,打印出成功设置焦点的窗口标题。如果没有找到匹配的窗口,则打印出相应的提示信息。
上一篇:按标签中的值对文本进行排序
下一篇:按标题对api结果进行分组