Цитата kalikanzaros:
может у Sanja Alone есть мысли по этому поводу? »
|
Я остановился на WPI 5.6. Меня вполне устраивает. Только дописал ф-цию проверки версий для использования в кондишинах...
Цитата МИШАНЧИК:
не получилось. Пишет какая-то ошибка в строке -1 »
|
Значит АвтоИт нужен более новый или что-то лишнее было скопировано, 1-я строка - это комментарий (ошибки в комментариях не проверяются
).
Предложенный
DenchikK-ом вариант скрипта - это более упрощенная версия "более хитрого варианта", только настройки вносятся в реестр не из внешнего reg-файла, а прямо из скрипта посредством RegWrite. К тому же, скрипт имеет повышенную "зависоноопасность" (использование ProcessWait чревато подвисанием скрипта в сл. неверного определения имени процесса). Версия с AdlibEnable("_CloseProcesses",2000) гораздо безопаснее, т.к. в данном сл. ф-ция _CloseProcesses будет вызываться каждые 2 сек. (2000 мс) и процессы указанные в массиве $processes будут закрываться. Все это будет продолжаться до AdlibDisable(), т.е. до завершения установки ashampoo.exe.
Цитата DenchikK:
Под WinVista Business x64 с отличным от стандартного браузером такая фишка не прокатывает. Подумаем »
|
В принципе, можно так не париться, а просто закрывать все возможные процессы браузеров такой ф-цией (я конечно не все перечислил, но наиболее распространенные):
Код:
Func _CloseBrowserProcesses()
Local $process
Local $defaultbrowser = RegRead ('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet','')
Dim $processes[6] = [$defaultbrowser, "iexplore.exe", "opera.exe", "firefox.exe", "MyIE.exe", "Maxthon.exe"] ; массив процессов для "убийства"
For $process In $processes
If ProcessExists($process) Then
ProcessClose($process)
ProcessWaitClose($process)
EndIf
Next
EndFunc