import win32gui
# 获取所有窗口的句柄
def get_all_windows():
hwnd_title = {}
def callback(hwnd, extra):
if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
title = win32gui.GetWindowText(hwnd)
if title:
hwnd_title[hwnd] = title
win32gui.EnumWindows(callback, None)
return hwnd_title
# 打印所有窗口的标题和句柄
windows = get_all_windows()
for hwnd, title in windows.items():
print(f"Window Handle: {hwnd}, Title: {title}")
# 根据窗口标题获取窗口句柄
def get_window_handle_by_title(title):
return win32gui.FindWindow(None, title)
# 示例:获取记事本窗口的句柄(假设记事本已打开)
notepad_handle = get_window_handle_by_title("无标题 - 记事本")
if notepad_handle:
print(f"Notepad window handle: {notepad_handle}")
else:
print("Notepad window not found")
# 将窗口置顶
def bring_window_to_top(hwnd):
win32gui.SetForegroundWindow(hwnd)
# 示例:将记事本窗口置顶(假设记事本已打开)
if notepad_handle:
bring_window_to_top(notepad_handle)
获取所有窗口的句柄:
get_all_windows 函数通过 win32gui.EnumWindows 遍历所有窗口,并使用回调函数 callback 获取每个窗口的句柄和标题。只有那些可见、启用且有效的窗口才会被记录。打印所有窗口的标题和句柄:
get_all_windows 函数获取所有窗口的信息,并打印出来。根据窗口标题获取窗口句柄:
get_window_handle_by_title 函数通过 win32gui.FindWindow 根据窗口标题查找对应的句柄。如果找到,则返回句柄;否则返回 0。将窗口置顶:
bring_window_to_top 函数通过 win32gui.SetForegroundWindow 将指定窗口置于最前端。示例代码:
下一篇:python脚本打包成exe文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站