Condividi tramite


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)

Vedi anche

CreateProcess

Createprocessasuser

CreateProcessWithLogonW

ShellExecuteEx