Freigeben über


SHCreateProcessAsUserW-Funktion (shellapi.h)

[SHCreateProcessAsUserW ist unter Windows XP oder höher nicht implementiert.]

Erstellt einen neuen Benutzermodusprozess und seinen primären Thread, um eine angegebene ausführbare Datei auszuführen.

Syntax

BOOL SHCreateProcessAsUserW(
  [in, out] PSHCREATEPROCESSINFOW pscpi
);

Parameter

[in, out] pscpi

Typ: PSHCREATEPROCESSINFOW

Ein Zeiger auf eine SHCREATEPROCESSINFOW-Struktur mit Informationen zum Erstellen des Prozesses.

Rückgabewert

Typ: BOOL

Gibt TRUE zurück, wenn erfolgreich, oder FALSE , wenn nicht. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Hinweise

Diese Funktion ähnelt ShellExecuteEx mit runas als Verb. SHCreateProcessAsUserW erstellt jedoch einen Prozess, der im Sicherheitskontext des Benutzers ausgeführt wird, der durch den hUserToken-Member der Struktur dargestellt wird, auf die von pscpi verwiesen wird. Das lpProcessInformation-Element kann verwendet werden, um eine PROCESS_INFORMATION-Struktur mit Informationen zum neuen Prozess zurückzugeben.

Das Runas-Verb muss vom Dateityp der ausführbaren Datei unterstützt werden. Der Dateityp .exe unterstützt runas. Verwenden Sie die AssocQueryString-Funktion , um zu überprüfen, ob runas von anderen Dateitypen unterstützt wird. Das folgende Codefragment veranschaulicht die Syntax.

AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)

Eine Erläuterung der Verwendung der Shell zum Starten von Anwendungen finden Sie unter Starten von Anwendungen.

SHCreateProcessAsUserW wird unter Windows XP nicht unterstützt. Benutzer, die ähnliche Funktionen benötigen, sollten CreateProcess,CreateProcessAsUser, CreateProcessWithLogonW und ShellExecuteEx untersuchen und diese basierend auf der erforderlichen Funktionalität und Sicherheit sorgfältig bewerten. IQueryAssociations kann verwendet werden, um informationen zu extrahieren, die mit CreateProcess verwendet werden, falls erforderlich.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shellapi.h
Bibliothek Shell32.lib
DLL Shell32.dll (Version 5.0 oder höher)

Weitere Informationen

CreateProcess

CreateProcessAsUser

CreateProcessWithLogonW

ShellExecuteEx