中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

python怎么獲取窗口句柄并移動

小億
136
2023-10-14 02:31:29
欄目: 編程語言

在 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 是指要移動窗口到的位置和大小,可以根據自己的需求進行修改。

0
濮阳县| 河池市| 沧源| 丰镇市| 嘉祥县| 高碑店市| 射阳县| 阜城县| 深州市| 屏山县| 井研县| 长宁区| 赤峰市| 南部县| 含山县| 五原县| 兰西县| 元朗区| 吉首市| 无为县| 同心县| 郁南县| 黄浦区| 康马县| 达州市| 姜堰市| 潞西市| 桑植县| 清水河县| 都安| 沙雅县| 宝清县| 天柱县| 礼泉县| 鸡泽县| 凤冈县| 樟树市| 长岭县| 阜平县| 长沙县| 庆阳市|