Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата yago:
чувствую что в вопросе больше подозрений чем интереса в действительной помощи. »
yago, сожалею, но приходится. Надо хотя бы банально спросить, зачем человеку такое нужно. Ибо в моей практике «неописуемые случаи» имели место быть.


Что ж, пробуйте:
Код: Выделить весь код
Option Explicit

Dim lngProcessID

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")
	Do
		If .Get("Win32_Process").Create( _
			"""C:\Program Files\Internet Explorer\iexplore.exe"" -k ""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm""", _
			Null, Null, lngProcessID) = 0 Then
			
			.ExecNotificationQuery( _
				"SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE " & _
				"TargetInstance ISA 'Win32_Process' AND " & _
				"TargetInstance.ProcessID = '" & CStr(lngProcessID) & "'").NextEvent
		Else
			' Не удалось запустить процесс
			Exit Do
		End If
	Loop
End With

WScript.Quit 0
Здесь:
Код: Выделить весь код
"""C:\Program Files\Internet Explorer\iexplore.exe"" -k ""file://C:\WINDOWS\Help\Tours\htmlTour\default.htm"""
— путь к IE, параметр режима киоска и путь к локальному файлу html.

Вкратце: подключаемся к локальному Wbem, пытаемся запустить IE. Если запуск был удачен — ждём, пока не будет завершён процесс IE, затем запускаем новый процесс IE. И так — по кругу. Если же вдруг запуск процесса IE оказался неудачен — выходим из цикла и завершаем работу скрипта.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:59, 07-12-2011 | #6