Описание функции | |
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 не равным нулю. |
Примечания
Пути с пробелами должны быть заключены в кавычки.См. также
ProcessWait, ProcessWaitClose, Run, RunWait, ShellExecute, ShellExecuteWait, RunAs
Примеры: | ![]() |
exect=RunAsWait('Username',@ComputerName,'Password',0,'notepad.exe',Null,@SW_SHOWMAXIMIZED) ;; запускает "Блокнот" развёрнутым на весь экран от имени указанного выше пользователя и приостанавливает работу утилиты до его закрытия