欢迎访问宙启技术站
智能推送

Python中使用win32guiGetClientRect()函数获取窗口客户区大小的方法

发布时间:2023-12-27 11:40:46

使用win32gui.GetClientRect(hwnd)函数可以获取指定窗口的客户区大小。其中hwnd是窗口的句柄(handle),可以使用win32gui.FindWindow(className, windowName)函数来获取窗口的句柄。

下面是一个使用例子:

import win32gui

def get_window_size(hwnd):
    rect = win32gui.GetClientRect(hwnd)
    width = rect[2] - rect[0]
    height = rect[3] - rect[1]
    return width, height

def main():
    # 获取窗口句柄
    hwnd = win32gui.FindWindow(None, "Untitled - Notepad")
    if hwnd == 0:
        print("窗口未找到")
        return

    # 获取窗口客户区大小
    width, height = get_window_size(hwnd)

    print("窗口大小为:{}x{}".format(width, height))

if __name__ == "__main__":
    main()

在上面的例子中,我们使用了win32gui.FindWindow(None, "Untitled - Notepad")来获取名为"Untitled - Notepad"的记事本窗口的句柄。然后我们使用get_window_size函数来获取窗口的客户区大小,并将结果打印出来。

需要注意的是,win32gui.GetClientRect返回的是一个矩形的左上角和右下角的坐标,分别是(rect[0], rect[1])和(rect[2], rect[3])。通过计算这两个坐标的差值,我们可以得到窗口的宽度和高度。

同时,需要确保已经安装了pywin32模块,可以使用pip install pywin32命令进行安装。