Compartilhar via


Função SHCreateProcessAsUserW (shellapi.h)

[SHCreateProcessAsUserW não é implementado em sistemas Windows XP ou posteriores.]

Cria um novo processo de modo de usuário e seu thread primário para executar um arquivo executável especificado.

Sintaxe

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

Parâmetros

[in, out] pscpi

Tipo: PSHCREATEPROCESSINFOW

Um ponteiro para uma estrutura SHCREATEPROCESSINFOW com informações sobre como criar o processo.

Retornar valor

Tipo: BOOL

Retornará TRUE se tiver êxito ou FALSE se não for. Para recuperar informações de erro estendidas, chame GetLastError.

Comentários

Essa função é semelhante a ShellExecuteEx com runas como o verbo. No entanto, SHCreateProcessAsUserW cria um processo que é executado no contexto de segurança do usuário representado pelo membro hUserToken da estrutura apontada pelo pscpi. O membro lpProcessInformation pode ser usado para retornar uma estrutura PROCESS_INFORMATION com informações sobre o novo processo.

O verbo runas deve ter suporte pelo tipo de arquivo do arquivo executável. O tipo de arquivo .exe dá suporte a runas. Use a função AssocQueryString para marcar se o runas tem suporte de outros tipos de arquivo. O fragmento de código a seguir ilustra a sintaxe.

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

Para obter uma discussão sobre como usar o Shell para iniciar aplicativos, consulte Iniciando aplicativos.

Não há suporte para SHCreateProcessAsUserW no Windows XP. Os usuários que exigem funcionalidade semelhante devem examinar CreateProcess, CreateProcessAsUser, CreateProcessWithLogonW e ShellExecuteEx, avaliando cuidadosamente cada um com base na funcionalidade e segurança necessárias. IQueryAssociations pode ser usado para extrair informações usadas com CreateProcess, se necessário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shellapi.h
Biblioteca Shell32.lib
DLL Shell32.dll (versão 5.0 ou posterior)

Confira também

CreateProcess

Createprocessasuser

CreateProcessWithLogonW

Shellexecuteex