Compartilhar via


Creating a Process

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Para iniciar um processo a partir de outro processo, chamar a função CreateProcess, que carrega um novo aplicativo na memória e cria um processo com at least um segmento.

O seguinte mostra exemplo de código o CreateProcess função protótipo:

BOOL CreateProcess(LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation );

Porque Windows Embedded CE não suporte de segurança ou atual diretórios e não identificador herança, a maioria dos parâmetros devem ser definidos como NULL ou zero.

O seguinte exemplo de código mostra o protótipo função quando todos os sem suporte a funcionalidade é levada em consideração:

BOOL CreateProcess(LPCTSTR lpApplicationName,
LPTSTR lpCommandLine, NULL, NULL, FALSE,
DWORD dwCreationFlags, NULL, NULL, NULL,
LPPROCESS_INFORMATION lpProcessInformation );

O primeiro parâmetro, lpApplicationName, deve conter um ponteiro para o nome do aplicativo para iniciar. Windows Embedded CE não suporte passando NULL para lpApplicationName e aparência para o aplicativo no seguinte diretórios, a seguinte ordem:

  1. O caminho especificado na lpApplicationName, se um estiver listado
  2. O diretório do Windows
  3. O Diretório raiz em armazenar o objeto (\)
  4. Um caminho OEM-specified pesquisa

O lpCommandLine parâmetro especifica o linha de comando para transmitir para o novo processo. O linha de comando deve ser passado como um seqüência de caracteres Unicode.

O dwCreationFlags parâmetro especifica a estado inicial do processo após o carregamento.

A seguinte tabela descreve todos os sinalizadores com suporte.

Sinalizador Descrição

0

Cria um padrão processo.

CREATE_SUSPENDED

Cria um processo com um primário suspenso segmento.

DEBUG_PROCESS

Cria um processo a ser depurado pela processo de chamada.

DEBUG_ONLY_THIS_PROCESS

Cria um processo a ser depurado pelo processo de chamada, mas não depuração quaisquer processos filho que são iniciados pelo processo sendo depurado.

Esse sinalizador deve ser usado com DEBUG_PROCESS.

CREATE_NEW_CONSOLE

Cria um console.

O último parâmetro usado pelo CreateProcess é lpProcessInformation. Este parâmetro aponta para a estrutura PROCESS_INFORMATION, que contém dados sobre o novo processo. Este parâmetro também pode ser definido para NULL.

Se o processo não pode executar, CreateProcess retorna FALSE. Para obter mais informações sobre a falha, chamar a função GetLastError.

See Also

Concepts

Processes