2017-01-17 5 views
0

У меня есть сценарий, который открыл IE, без панели инструментов и для перехода к URL (ниже)Запустите Internet Explorer, подождите, пока пользователь не закроет его, а затем выйти из сценария

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, скрыть панель инструментов, перейдите к URL
  • ждать в фоновом режиме, когда пользователь делает вещи, которые может быть через 10-15 минут
  • признать она закрыта и выйти из сценария

это кажется достаточно простым, но я не могу работать его выезд, ожидающая часть меня заводит.

Если вы можете сделать это в PowerShell, это тоже здорово, я не против.

ответ

0

Я не в передней части компьютера прямо сейчас, но, как я помню ...

Вы можете начать процесс ака запуска процесса я думаю. Возьмите возвращаемый идентификатор процесса. Подождите, пока процесс завершится, может быть, процесс ожидания? Сделайте «справочный процесс» в приглашении PowerShell для команд и синтаксиса.

+0

При запуске IE с помощью 'Start-Process', вы не сможете контролировать его через COM Automation (вызов '.Navigate()', устанавливая '.ToolBar', ...), который требует OP. Однако, вы можете использовать '$ newProc = Start-Process -PassThru ...' (обратите внимание на необходимость использования '-PassThru'), чтобы получить экземпляр' [System.Diagnostic.Process] ', представляющий только что начатый процесс, и дождитесь его завершения через 'Wait-Process $ newProc.Id'. – mklement0

+0

Кроме того, в будущем я рекомендую либо дождаться, пока вы вернетесь на компьютер, прежде чем отвечать, либо вернетесь позже, чтобы укрепить свой ответ. SO [отличается от традиционных форумов] (http://meta.stackexchange.com/q/92107/248777). – mklement0

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 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^