使用 Python 驱动的自动化工具。
假设有一个正在运行的应用程序池:
APPS_POOL = ['Chrome', 'SomeApp', 'Foo']
该脚本在循环中运行(每秒),需要在它们之间随机切换:
# Init App object
app = application.Application()
# Select random app from the pull of apps
random_app = random.choice(APPS_POOL)
app.connect(title_re=".*%s" % random_app)
print 'Select "%s"' % random_app
# Access app's window object
app_dialog = app.window_(title_re=".*%s.*" % random_app)
if app_dialog.Exists():
app_dialog.SetFocus()
第一次它工作正常,但每隔一次 - 窗口不会被带到前台。有任何想法吗?
编辑: 脚本是从 Win7 CMD 运行的。一旦焦点设置到其他窗口,系统是否有可能以某种方式“阻止”CMD 设置焦点?
原文由 0leg 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为
SetFocus
有点问题。至少在我的机器上出现错误:error: (87, 'AttachThreadInput', 'The parameter is incorrect.')
。所以也许你可以玩最小化/恢复。请注意,这种方法也不是防弹的。