在Python做屏幕自动化的过程中,不免须要波及对窗口的操作,实践上都能够用鼠标键盘+屏幕辨认(对人的齐全模仿)来实现,但具体做起来切实有点麻烦。如果不思考跨平台的兼容性,那么引入win32gui库,能够省很多事。

获取以后窗口

import win32gui# 获取窗口句柄hwnd = win32gui.GetForegroundWindow()# 获取窗口题目win32gui.GetWindowText(hwnd)

查找窗口

import win32gui# 依据题目查找窗口title = '文档'hwnd = win32gui.FindWindow(None, title)

设置以后窗口

import win32gui# 依据句柄hwnd = 5378992 #句柄应该是其余办法获取到的win32gui.SetForegroundWindow(hwnd)

残缺示例

import timeimport win32guidef get_current_window():    return win32gui.GetForegroundWindow()def set_current_window(hwnd):    win32gui.SetForegroundWindow(hwnd)def get_window_title(hwnd):    return win32gui.GetWindowText(hwnd)def get_current_window_title():    return get_window_title(get_current_window())def find_window_by_title(title):    try:        return win32gui.FindWindow(None, title)    except Exception as ex:        print('error calling win32gui.FindWindow ' + str(ex))        return -1if __name__ == "__main__":    # 获取以后窗口句柄(是一个整数)    print(get_current_window())    # 获取以后窗口题目    print(get_current_window_title())    # 给定一个题目, 查找这个窗口, 如果找到就放到最前    hwnd = find_window_by_title('文档')    set_current_window(hwnd)    time.sleep(1)    # 打印刚刚切换到最前的窗口题目    print(get_current_window_title())