Erzeugt einen neuen Prozess und dessen primären Thread in dem Sicherheitskontext des angegebenen Tokens.
#include <WinAPIProc.au3>
_WinAPI_CreateProcessWithToken ( $sApp, $sCmd, $iFlags, $tStartupInfo, $tProcessInfo, $hToken [, $iLogon = 0 [, $pEnvironment = 0 [, $sDir = '']]] )
$sApp | Der Name des Moduls welches ausgeführt werden soll. Wenn dieser Parameter ein leerer String ist, so muss der Modulname der erste leerzeichengetrennte Token im Kommandozeilenstring sein. |
$sCmd | Die Kommandozeile welche ausgeführt werden soll. Wenn dieser Parameter leer ist, so verwendet die Funktion den Modulnamen als Kommandozeile. |
$iFlags | Die Flags welche angeben wie ein Prozess erzeugt wird. $CREATE_DEFAULT_ERROR_MODE $CREATE_NEW_CONSOLE und $CREATE_NEW_PROCESS_GROUP sind standardmäßig aktiviert. Man kann folgende Flags zusätzlich angeben: $CREATE_DEFAULT_ERROR_MODE $CREATE_NEW_CONSOLE $CREATE_NEW_PROCESS_GROUP $CREATE_SEPARATE_WOW_VDM $CREATE_SUSPENDED $CREATE_UNICODE_ENVIRONMENT |
$tStartupInfo | Eine $tagSTARTUPINFO Struktur oder ein Pointer zu einer. |
$tProcessInfo | Die $tagPROCESS_INFORMATION Struktur oder ein Pointer zu einer welches die Informationen für den neuen Prozess, einschließlich dem Handle zu dem neuen Prozess, beinhaltet. |
$hToken | Ein Handle zu einem primären Token welches einen Nutzer repräsentiert. das Handle muss die $TOKEN_QUERY, $TOKEN_DUPLICATE und $TOKEN_ASSIGN_PRIMARY Zugriffsrechte besitzen. |
$iLogon | [optional] Die Anmeldeoptionen. Dieser Parameter kann entweder 0 oder eine der folgenden Werte annehmen: $LOGON_WITH_PROFILE $LOGON_NETCREDENTIALS_ONLY |
$pEnvironment | [optional] Ein Pointer zu einem Umgebungsblock für den neuen Prozess. |
$sDir | [optional] Der Pfad zum aktuellen Verzeichnis für den Prozess. Wenn dieser Parameter ein leerer String ist (Standard), so wird der neue Prozess dasselbe Laufwerk sowie Verzeichnis des aufrufenden Prozesses erhalten. Die Konstanten sind in "APIProcConstants.au3" definiert. |
Erfolg: | True |
Fehler: | False |
Um einen Sicherheitstoken zu erhalten, muss der Prozesshandle, in der $tagPROCESS_INFORMATION Sturktur, der _WinAPI_OpenProcessToken() Funktion übergeben werden.
Diese Funktion benötigt Windows Vista oder höher.
Suche nach CreateProcessWithTokenW in der MSDN Bibliothek.