Funzione SHCreateProcessAsUserW (shellapi.h)
[SHCreateProcessAsUserW non viene implementato nei sistemi Windows XP o versioni successive.]
Crea un nuovo processo in modalità utente e il relativo thread primario per eseguire un file eseguibile specificato.
Sintassi
BOOL SHCreateProcessAsUserW(
[in, out] PSHCREATEPROCESSINFOW pscpi
);
Parametri
[in, out] pscpi
Tipo: PSHCREATEPROCESSINFOW
Puntatore a una struttura SHCREATEPROCESSINFOW con informazioni su come creare il processo.
Valore restituito
Tipo: BOOL
Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Per recuperare informazioni sull'errore estese, chiamare GetLastError.
Commenti
Questa funzione è simile a ShellExecuteEx con runas come verbo. Tuttavia, SHCreateProcessAsUserW crea un processo che viene eseguito nel contesto di sicurezza dell'utente rappresentato dal membro hUserToken della struttura a cui fa riferimento pscpi. Il membro lpProcessInformation può essere usato per restituire una struttura PROCESS_INFORMATION con informazioni sul nuovo processo.
Il verbo runas deve essere supportato dal tipo di file eseguibile. Il tipo di file .exe supporta runas. Usare la funzione AssocQueryString per verificare se runas è supportato da altri tipi di file. Il frammento di codice seguente illustra la sintassi.
AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)
Per una discussione su come usare Shell per avviare applicazioni, vedere Avvio di applicazioni.
SHCreateProcessAsUserW non è supportato in Windows XP. Gli utenti che richiedono funzionalità simili devono esaminare CreateProcess, CreateProcessAsUser, CreateProcessWithLogonW e ShellExecuteEx, valutando attentamente ogni elemento in base alle funzionalità e alla sicurezza necessarie. IQueryAssociations può essere usato per estrarre informazioni usate con CreateProcess, se necessario.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional, Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shellapi.h |
Libreria | Shell32.lib |
DLL | Shell32.dll (versione 5.0 o successiva) |