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

如何使用Robot Framework最大化Windows桌面应用程序窗口

Windows平台Robot Framework最大化普通桌面应用方案

核心失效原因

你之前的操作失效主要是两个问题:

  • 窗口标题不匹配导致定位错误,你示例中使用的Rechner是德语系统计算器的标题,中文系统需改为计算器,窗口定位失败会导致所有指令发送到错误对象
  • 未预先激活目标窗口,按键/指令没有发送到目标应用

方案1:使用RPA.Desktop.Windows原生关键字(最优)

RPA.Desktop.Windows库自带原生窗口最大化关键字,无需模拟按键,稳定性最高,实现代码如下:

*** Settings ***
Library           RPA.Desktop.Windows
Library           RPA.Desktop

*** Test Cases ***
Maximize Desktop App
    # 第二个参数为目标窗口标题,需和系统实际显示完全一致
    ${app_handle}=    Open using run dialog    calc.exe    计算器
    # 激活目标窗口确保指令生效
    Activate Window    ${app_handle}
    # 调用原生最大化关键字
    Maximize Window    ${app_handle}
    Pause Execution

如果无法确定窗口准确标题,可以调用List Windows关键字打印当前系统所有打开的窗口标题进行核对。

方案2:模拟按键实现(兼容旧版本库)

如果使用的库版本没有原生Maximize Window关键字,可使用模拟按键方案,需确保窗口已激活且完全加载:

*** Test Cases ***
Maximize App With Keypress
    ${app_handle}=    Open using run dialog    calc.exe    计算器
    Activate Window    ${app_handle}
    # 等待窗口完全加载
    Sleep    1s
    # 发送Alt+空格+x组合键触发最大化
    Send Keys    {% SPACE}x
    Pause Execution

方案3:Win32 API兜底实现

如果上述方案都不生效,可直接调用Windows系统API实现最大化,需先安装依赖:
pip install pywin32

实现代码:

*** Settings ***
Library           RPA.Desktop.Windows
Library           RPA.Desktop
Library           win32gui
Library           win32con

*** Keywords ***
Maximize Window By Handle
    [Arguments]    ${window_handle}
    win32gui.ShowWindow    ${window_handle}    ${win32con.SW_MAXIMIZE}

*** Test Cases ***
Maximize App With Win32
    ${app_handle}=    Open using run dialog    calc.exe    计算器
    Activate Window    ${app_handle}
    Maximize Window By Handle    ${app_handle}
    Pause Execution

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:09:01