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

47次阅读
没有评论

共计 935 个字符,预计需要花费 3 分钟才能阅读完成。

在 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)  # 可根据需要修改 

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

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计935字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)