You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python在后台控制Windows GUI应用程序?

可行的Python工具方案

1. PyAutoGUI + pywin32(适配后台/最小化场景)

PyAutoGUI支持基于屏幕坐标的点击、输入,默认是全局操作,结合pywin32可实现针对后台/最小化窗口的精准操作:

  • 通过win32gui.FindWindow获取目标窗口句柄
  • 若窗口最小化,先用win32gui.ShowWindow临时恢复,操作后再最小化;通过win32gui.GetClientRect和win32gui.GetWindowRect转换窗口内坐标为屏幕坐标
  • 用PyAutoGUI的方法执行点击、输入操作
  • 示例代码片段:
import pyautogui
import win32gui
import win32con

# 替换为目标应用的窗口标题
hwnd = win32gui.FindWindow(None, "目标应用窗口标题")
if hwnd:
    # 恢复最小化窗口
    win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
    # 获取窗口客户区与屏幕位置
    client_rect = win32gui.GetClientRect(hwnd)
    window_pos = win32gui.GetWindowRect(hwnd)
    # 将窗口内坐标(100,200)转换为屏幕坐标
    screen_x = window_pos[0] + client_rect[0] + 100
    screen_y = window_pos[1] + client_rect[1] + 200
    # 执行点击与输入
    pyautogui.click(screen_x, screen_y)
    pyautogui.typewrite("需要输入的内容")
    # 重新最小化窗口
    win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)

2. 直接用pywin32发送Windows消息(纯后台无窗口可见)

通过Windows API给窗口直接发送鼠标、键盘消息,完全无需窗口前台或可见:

  • 用win32api.SendMessage发送WM_LBUTTONDOWN/WM_LBUTTONUP模拟点击,WM_CHAR模拟输入
  • 窗口内坐标需转换为Windows的LPARAM格式
  • 示例代码片段:
import win32gui
import win32api
import win32con

hwnd = win32gui.FindWindow(None, "目标应用窗口标题")
if hwnd:
    # 目标窗口内坐标(100,200)
    x, y = 100, 200
    # 转换坐标为LPARAM参数
    lparam = win32api.MAKELONG(x, y)
    # 模拟左键点击
    win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, lparam)
    win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, 0, lparam)
    # 模拟输入文本
    for char in "hello":
        win32api.SendMessage(hwnd, win32con.WM_CHAR, ord(char), 0)

这种方式兼容性强,多数常规GUI应用都能响应,适合严格后台操作场景。

3. PyAutoIt(AutoIt的Python绑定)

完全复刻AutoIt的功能,语法接近,对Windows应用兼容性好,支持后台坐标操作与输入:

  • 安装:pip install pyautoit
  • 示例代码片段:
import autoit

# 后台点击窗口内坐标(100,200)
autoit.mouse_click("left", 100, 200, 1, 0, "目标应用窗口标题")
# 后台发送输入文本
autoit.send("需要输入的内容", 1)

内容的提问来源于stack exchange,提问作者Fabian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:07:32