|
Описание функции | |
| 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) ;; запускает "Блокнот" развёрнутым на весь экран от имени указанного выше пользователя и приостанавливает работу утилиты до его закрытия