【问题标题】:How to switch between Chrome windows in Powershell?如何在 Powershell 中的 Chrome 窗口之间切换?
【发布时间】:2019-12-17 13:44:17
【问题描述】:

我正在编写一个通过 3 个 chrome 窗口(不是选项卡,这些窗口位于 3 个不同的监视器上)的 powershell 脚本,并且想要刷新每个窗口。 我想不出在窗口之间切换的方法。

我有以下代码:

while(1) { # Loop forever
  sleep -Seconds 15 # Wait 15sec
  $wshell = New-Object -ComObject wscript.shell 
  if($wshell.AppActivate('Chrome')) { # Switch to Chrome
   Sleep 1 # Wait for Chrome to "activate"
   $wshell.SendKeys('{F5}')  # Send F5 (Refresh)
} else { break; } # Chrome not open, exit the loop
}

这只会刷新一页。我尝试使用

 [System.Windows.Forms.SendKeys]::SendWait("%+{ESC}") 

在应用程序之间切换,但由于有其他打开的应用程序是不可能的。

有没有办法在 Chrome 窗口之间切换?没有找到任何捷径或解决方案。

谢谢!

【问题讨论】:

    标签: windows powershell google-chrome


    【解决方案1】:

    在刷新之前添加:

    $wshell.SendKeys('^{%TAB}'); # Performs an Alt + Tab to switch windows
    

    当然这意味着只有 chrome 窗口是打开的

    由于打开了多个程序,您可以试一试:

    ($wshell.AppActivate((get-process chrome).MainWindowTitle))
    

    【讨论】:

    • 很遗憾,由于有多个打开的应用程序,alt+tab 不起作用。我尝试了第二行,但它失败了“类型不匹配。(来自 HRESULT 的异常:0x80020005(DISP_E_TYPEMISMATCH))”
    • 你可以再试一次,但没有 IF() 语句吗?我相信它对我有用,但我没有使用 IF 条件或循环。虽然看不到循环是问题
    【解决方案2】:

    如果你正在寻找捷径,试试这个:

    如果 Chrome 图标在任务栏的第一个位置(最左侧),按两次Win + 1 切换到第二个窗口,按三次Win + 1 切换到第三个窗口。

    关于在Powershell中模拟Win键,最简单的方法是Ctrl + Esc;但它不能作为Win + x 组合使用。这个答案可能会有所帮助:https://stackoverflow.com/a/51868925

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 2023-03-03
      • 1970-01-01
      • 2021-12-28
      • 2020-12-02
      • 2016-03-24
      • 2021-02-13
      • 1970-01-01
      • 2017-07-11
      相关资源
      最近更新 更多