如果你想让它们切换,那么你必须找出你从哪里开始。通过获取窗口标题启动脚本...
注意:以下是未经测试的代码。
如果它不起作用并且您不能轻易找出原因,请在Gitter 上发帖,我们会解决的。下面的脚本会像写的那样失败,因为我认为你不能有空的 except: 子句。您至少可以为它们中的每一个添加一个 pass 语句,这样错误就会被忽略并且不会抛出异常。
我假设您的窗口标题字符串是正确的,尽管 explorer.exe 让我暂停,因为我不确定它是否会在 Linux 上运行并且 AutoKey 是一个 Linux X11 应用程序。它不适用于 Wayland 或 Windows。
win = window.get_active_title()
if win == 'Google Chrome' :
try:
window.activate('explorer.exe')
except:
## do something if that didn't work
elif win == 'explorer.exe'
try:
window.activate('Google Chrome')
except:
## do something if that didn't work
else
## do something when neither is the active window
如果启动此脚本时其中一个或两个窗口/应用程序未运行,则某些事情将会失败。您可以尝试启动它们或根据您的要求执行其他操作。
我不认为第一个 API 调用会失败,但您可以将其放入 try: block 中,如有必要。
此外,当事情看起来正确但仍然不起作用时,首先要尝试的是在所有 API 调用之前/之间添加长延迟,如 time.sleep(1)。一旦脚本生效,您就可以一次减少或消除延迟。