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

Squish无法启动cmd.exe:外部设备命令提示符与explorer.exe自动化求助

解决Squish无法启动cmd.exe/explorer.exe的自动化方案

问题根源

cmd.exe和explorer.exe是Windows原生程序,而非Qt应用,直接套用Squish的Qt应用启动逻辑必然失效。需要借助Squish对Windows原生程序的支持能力,调整配置或通过代码手动启动后附加进程。

可行实现方法

方法1:正确配置AUT为Windows应用类型

  1. 打开Squish IDE,进入AUT Manager
  2. 点击「添加」,选择Windows Application类型
  3. 填入目标程序的完整路径:
    • cmd.exe:C:\Windows\System32\cmd.exe
    • explorer.exe:C:\Windows\explorer.exe
  4. 保存配置后,直接用以下代码启动:
    squish.startApplication("cmd.exe")  # 替换为explorer.exe即可启动资源管理器
    

方法2:手动启动程序后附加到进程

如果AUT配置仍有问题,可通过系统API先启动程序,再用Squish附加到目标进程:

import os
import squish
import time

# 启动cmd.exe(可替换为explorer.exe)
target_path = "C:\\Windows\\System32\\cmd.exe"
os.startfile(target_path)

# 等待程序启动完成(根据实际情况调整等待时间)
time.sleep(2)

# 附加到目标进程
squish.attachToApplication("cmd.exe")

针对explorer.exe,若需启动新实例而非附加已有进程,可改用以下命令启动:

os.system('start explorer.exe "C:\\"')  # 启动指向C盘的新资源管理器窗口

注意事项

  • 确保Squish安装时包含了Windows扩展组件(默认安装已包含)
  • 64位系统下,注意区分System32(64位程序)和SysWOW64(32位程序)路径,选择对应版本的cmd/explorer
  • 运行Squish时建议以管理员权限启动,避免进程附加失败
  • 附加进程前需确保程序已完全启动,可结合squish.waitForObject替代固定sleep,提升稳定性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:07:06