【问题标题】:vbScript AppActivate activates random appsvbScript AppActivate 激活随机应用程序
【发布时间】:2022-01-04 02:52:53
【问题描述】:

我正在尝试编写一个 vb 脚本来执行以下操作

  1. 启动 Chrome
  2. 导航到指定网站
  3. 循环并不断刷新该特定选项卡

我可以使用以下代码让#1 和#2 工作。刷新也有效。唯一的问题是刷新发生在活动的窗口上。 AppActivate 部分 - 应该将焦点转移到给定窗口不工作。代码在这里。

Dim iURL
Dim objShell

iURL = "SampleURL"

set objShell = CreateObject("Shell.Application")

objShell.ShellExecute "chrome.exe", iURL, "", "", 1

Do While True

   Set WSHShell = CreateObject("WScript.Shell")

   WSHShell.AppActivate "Remote Access Asia - Google Chrome"

   WSHShell.SendKeys "{F5}"

   WScript.Sleep 30000    ' 30 seconds

Loop

我正在使用的窗口标题是通过使用 tasklist 命令 (tasklist /v /FO:CSV) 确定的。我尝试使用显示的标题的各种版本(子字符串)。我也使用过 chrome.exe,但没有任何帮助。刷新不仅限于 Chrome 的标签页 - 它发生在其他应用程序中,例如记事本也是如此。

任何想法将不胜感激。

【问题讨论】:

    标签: google-chrome vbscript


    【解决方案1】:

    您的代码在我已经打开的 Chrome 窗口中运行良好。问题可能出在ShellExecute。我使用Run 取得了成功,并使用--new-window 参数确保站点在自己的窗口中打开。在While 循环中也不需要有CreateObject。试试这样:

    Set oWSH = CreateObject("WScript.Shell")
    URL = "SampleURL"
    
    oWSH.Run "chrome.exe --new-window " & URL
    
    Do While True
     oWSH.AppActivate "Remote Access Asia - Google Chrome"
     oWSH.SendKeys "{F5}"
     WScript.Sleep 30000  '30 seconds
    Loop
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-17
      • 2012-03-15
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      相关资源
      最近更新 更多