启动Internet Explorer,等待用户关闭它,然后退出脚本

时间:2017-01-17 00:45:37

标签: powershell vbscript

我有一个脚本打开IE,没有工具栏,并导航到一个网址(下面)

Dim IE, URL
URL = "website.com"
Set IE = CreateObject("InternetExplorer.Application")
  IE.Navigate URL
  IE.Visible = 1
  IE.ToolBar = 0
  IE.Left = 0

我需要让窗口出现这样的原因, 我不能使用自助服务终端模式。

我需要做的是:

  • 运行脚本(LaunchIE_noToolbar.vbs)
  • 打开IE,隐藏工具栏,转到网址
  • 在用户执行可能在10-15分钟之后执行的操作时在后台等待
  • 识别它已关闭并退出脚本

看起来很简单,但我无法解决,等待的部分让我疯了。

如果你能在PowerShell中做到这一点也很棒,我不介意。

2 个答案:

答案 0 :(得分:0)

我现在不在电脑前,但我记得......

我认为你可以开始一个名为start-process的过程。获取返回的进程ID。然后等待进程完成,可能是等待进程?做一个"帮助过程"在PowerShell提示符下输入命令和语法。

答案 1 :(得分:0)

可能有更优雅的PowerShell解决方案,但这似乎有效:

$url = "website.com"
$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.Navigate($url)
$ie.Visible = 1
$ie.ToolBar = 0
$ie.Left = 0

# Wait for IE to exit.
while ($null -ne $ie.ReadyState) { # .ReadyState is only $null once the IE instance exits
  Start-Sleep -Milliseconds 100
}