python怎么获取窗口句柄并移动

   2025-02-18 9430
核心提示:在 Python 中,可以使用 ctypes 模块来获取窗口句柄并移动窗口。首先,需要导入 ctypes 模块和其他相关模块:import ctypesimpor

在 Python 中,可以使用 ctypes 模块来获取窗口句柄并移动窗口。

首先,需要导入 ctypes 模块和其他相关模块:

import ctypesimport win32conimport win32gui

然后,定义一个回调函数,用于枚举窗口并获取窗口句柄:

def enum_windows_callback(hwnd, lParam):# 获取窗口标题window_title = win32gui.GetWindowText(hwnd)# 判断窗口是否可见if win32gui.IsWindowVisible(hwnd):# 判断窗口标题是否包含特定的文本if "特定的文本" in window_title:  # 可根据需要修改# 将窗口句柄保存到列表中lParam.append(hwnd)# 返回 True 继续枚举其他窗口return True

接下来,定义一个函数来移动窗口:

def move_window(hwnd, x, y, width, height):# 获取窗口位置信息window_rect = win32gui.GetWindowRect(hwnd)# 计算窗口边框的宽度和高度border_width = (window_rect[2] - window_rect[0]) - widthborder_height = (window_rect[3] - window_rect[1]) - height# 调用 Windows API 函数移动窗口win32gui.MoveWindow(hwnd, x, y, width + border_width, height + border_height, True)

最后,调用以上函数来获取窗口句柄并移动窗口:

if __name__ == "__main__":# 创建一个空列表来保存窗口句柄windows = []# 枚举窗口并获取窗口句柄win32gui.EnumWindows(enum_windows_callback, windows)# 移动窗口for hwnd in windows:move_window(hwnd, x, y, width, height)  # 可根据需要修改

请注意,以上代码中的 xywidthheight 是指要移动窗口到的位置和大小,可以根据自己的需求进行修改。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言