Описание функции


RunAsWait

Запускает внешнюю программу от другого пользователя и приостанавливает выполнение скрипта до завершения внешней программы.

RunAsWait('username','domain','password',logon_flag,'program'[,'workingdir'[,show_flag[,opt_flag]]])

Параметры

username Имя пользователя.
domain Домен для аутентификации.
password Пароль пользователя.
logon_flag 0 - интерактивный вход без профиля.
1 - Интерактивный вход с профилем.
2 - Только сетевые учётные данные.
4 - Наследование переменных сред взамен пользователя.
program Полный путь к программе (EXE, BAT, COM, или PIF) для запуска.
workingdir [необязательный] Рабочий каталог. Если не указан, то используется значение @SystemDir. Это не путь к программе.
show_flag [необязательный] Режим отображения запускаемой программы:
@SW_HIDE = Скрыть окно (или ключ Default)
@SW_MINIMIZE = Свернуть
@SW_MAXIMIZE = Развернуть
opt_flag [необязательный] Управление различными опциями взаимодействия процессов родительского и дочернего.
0x10000 = Дочерний консольный процесс должен быть создан в собственном окне, вместо использования родительского окна. Этот флаг имеет смысл только, когда родительская программа скомпилирована как консольное приложение.

Возвращаемое значение

Успех:Возвращает код выхода из программы, которая была запущена.
Ошибка:Возвращает 0 и устанавливает @error не равным нулю.

Примечания

Пути с пробелами должны быть заключены в кавычки.

Важно указать рабочий каталог пользователя, чтоб запускаемая программа имела доступ, иначе функция не будет выполнена.

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null
Для передачи значения по умолчанию можно воспользоваться ключевым словом Default

См. также

ProcessWait, ProcessWaitClose, Run, RunWait, ShellExecute, ShellExecuteWait, RunAs

Примеры:
 Как создать кнопку?


exect=RunAsWait('Username',@ComputerName,'Password',0,'notepad.exe',Null,@SW_SHOWMAXIMIZED) ;; запускает "Блокнот" развёрнутым на весь экран от имени указанного выше пользователя и приостанавливает работу утилиты до его закрытия


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru