Partager via


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)

Voir aussi

CreateProcess

CreateProcessAsUser

CreateProcessWithLogonW

ShellExecuteEx