Fonction SHCreateProcessAsUserW (shellapi.h)
[SHCreateProcessAsUserW n’est pas implémenté sous Windows XP ou les systèmes ultérieurs.]
Crée un processus en mode utilisateur et son thread principal pour exécuter un fichier exécutable spécifié.
Syntaxe
BOOL SHCreateProcessAsUserW(
[in, out] PSHCREATEPROCESSINFOW pscpi
);
Paramètres
[in, out] pscpi
Type : PSHCREATEPROCESSINFOW
Pointeur vers une structure SHCREATEPROCESSINFOW avec des informations sur la création du processus.
Valeur retournée
Type : BOOL
Retourne TRUE si elle réussit ou FALSE si ce n’est pas le cas. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
Cette fonction est similaire à ShellExecuteEx avec runas comme verbe. Toutefois, SHCreateProcessAsUserW crée un processus qui s’exécute dans le contexte de sécurité de l’utilisateur représenté par le membre hUserToken de la structure pointée par pscpi. Le membre lpProcessInformation peut être utilisé pour retourner une structure PROCESS_INFORMATION avec des informations sur le nouveau processus.
Le verbe runas doit être pris en charge par le type de fichier du fichier exécutable. Le type de fichier .exe prend en charge les runas. Utilisez la fonction AssocQueryString pour case activée si les runas sont pris en charge par d’autres types de fichiers. Le fragment de code suivant illustre la syntaxe.
AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)
Pour plus d’informations sur l’utilisation de Shell pour lancer des applications, consultez Lancement d’applications.
SHCreateProcessAsUserW n’est pas pris en charge sous Windows XP. Les utilisateurs nécessitant des fonctionnalités similaires doivent examiner CreateProcess, CreateProcessAsUser, CreateProcessWithLogonW et ShellExecuteEx, en évaluant soigneusement chacun en fonction des fonctionnalités et de la sécurité requises. IQueryAssociations peut être utilisé pour extraire les informations utilisées avec CreateProcess, si nécessaire.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel, Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shellapi.h |
Bibliothèque | Shell32.lib |
DLL | Shell32.dll (version 5.0 ou ultérieure) |