Функция SHCreateProcessAsUserW (shellapi.h)
[SHCreateProcessAsUserW не реализованы в системах Windows XP или более поздних версий.]
Создает новый процесс пользовательского режима и его основной поток для запуска указанного исполняемого файла.
Синтаксис
BOOL SHCreateProcessAsUserW(
[in, out] PSHCREATEPROCESSINFOW pscpi
);
Параметры
[in, out] pscpi
Тип: PSHCREATEPROCESSINFOW
Указатель на структуру SHCREATEPROCESSINFOW со сведениями о создании процесса.
Возвращаемое значение
Тип: BOOL
Возвращает TRUE в случае успешного выполнения или FALSE, если нет. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Эта функция аналогична ShellExecuteEx с runas в качестве команды. Однако SHCreateProcessAsUserW создает процесс, который выполняется в контексте безопасности пользователя, представленного элементом hUserToken структуры, на которую указывает pscpi. Элемент lpProcessInformation можно использовать для возврата PROCESS_INFORMATION структуры с информацией о новом процессе.
Команда runas должна поддерживаться типа файла исполняемого файла. Тип файла .exe поддерживает runas. Используйте функцию assocQueryString, чтобы проверить, поддерживается ли runas другими типами файлов. Следующий фрагмент кода иллюстрирует синтаксис.
AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)
Обсуждение использования оболочки для запуска приложений см. в разделе Запуск приложений.
SHCreateProcessAsUserW не поддерживается в Windows XP. Пользователи, требующие аналогичной функциональности, должны изучить CreateProcessProcess, CreateProcessAsUser, CreateProcessWithLogonW и ShellExecuteEx, тщательно оценивая каждую из них на основе необходимых функций и безопасности. IQueryAssociations можно использовать для извлечения информации, используемой CreateProcess.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный, Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shellapi.h |
библиотеки | Shell32.lib |
DLL | Shell32.dll (версия 5.0 или более поздняя версия) |
См. также
ShellExecute Ex