阅读量:0
在 Python 中,可以使用 ctypes
模块来获取窗口句柄并移动窗口。
首先,需要导入 ctypes
模块和其他相关模块:
import ctypes import win32con import 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]) - width border_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) # 可根据需要修改
请注意,以上代码中的 x
、y
、width
和 height
是指要移动窗口到的位置和大小,可以根据自己的需求进行修改。