Função LoadModule (winbase.h)
Carrega e executa um aplicativo ou cria uma nova instância de um aplicativo existente.
Sintaxe
DWORD LoadModule(
[in] LPCSTR lpModuleName,
[in] LPVOID lpParameterBlock
);
Parâmetros
[in] lpModuleName
O nome do arquivo do aplicativo a ser executado. Ao especificar um caminho, use barras invertidas (\), não barras (/). Se o parâmetro lpModuleName não contiver um caminho de diretório, o sistema procurará o arquivo executável nesta ordem:
- O diretório do qual o aplicativo foi carregado.
- O diretório atual.
- O diretório do sistema. Use a função GetSystemDirectory para obter o caminho desse diretório.
- O diretório do sistema de 16 bits. Não há nenhuma função que obtenha o caminho desse diretório, mas ela é pesquisada. O nome desse diretório é System.
- O diretório do Windows. Use a função GetWindowsDirectory para obter o caminho desse diretório.
- Os diretórios listados na variável de ambiente PATH.
[in] lpParameterBlock
Um ponteiro para uma estrutura de LOADPARMS32 definida pelo aplicativo que define o bloco de parâmetros do novo aplicativo.
Defina todos os membros não utilizados como NULL, exceto lpCmdLine, que deve apontar para uma cadeia de caracteres terminada em nulo se ela não for usada. Para obter mais informações, consulte Comentários.
Valor retornado
Se a função for bem-sucedida, o valor retornado será maior que 31.
Se a função falhar, o valor retornado será um valor de erro, que pode ser um dos valores a seguir.
Valor/código retornado | Descrição |
---|---|
|
O sistema está sem memória ou recursos. |
|
O arquivo .exe é inválido. |
|
O arquivo especificado não foi encontrado. |
|
O caminho especificado não foi encontrado. |
Comentários
A estrutura LOADPARMS32 tem o seguinte formato:
typedef struct tagLOADPARMS32 {
LPSTR lpEnvAddress; // address of environment strings
LPSTR lpCmdLine; // address of command line
LPSTR lpCmdShow; // how to show new program
DWORD dwReserved; // must be zero
} LOADPARMS32;
Membro | Significado |
---|---|
lpEnvAddress | Ponteiro para uma matriz de cadeias de caracteres terminadas em nulo que fornecem as cadeias de caracteres de ambiente para o novo processo. A matriz tem um valor NULL como sua última entrada. Um valor nulo para esse parâmetro faz com que o novo processo comece com o mesmo ambiente que o processo de chamada. |
lpCmdLine | Ponteiro para uma cadeia de caracteres no estilo Pascal que contém uma linha de comando formada corretamente. O primeiro byte da cadeia de caracteres contém o número de bytes na cadeia de caracteres. O restante da cadeia de caracteres contém os argumentos de linha de comando, excluindo o nome do processo filho. Se não houver argumentos de linha de comando, esse parâmetro deverá apontar para uma cadeia de caracteres de comprimento zero; não pode ser NULL. |
lpCmdShow | Ponteiro para uma estrutura que contém dois valores WORD . O primeiro valor deve ser sempre definido como dois. O segundo valor especifica como a janela do aplicativo deve ser mostrada e é usada para fornecer o membro wShowWindow da estrutura STARTUPINFO para a função CreateProcess . Consulte a descrição do parâmetro nCmdShow da função ShowWindow para obter uma lista de valores aceitáveis. |
dwReserved | Esse parâmetro é reservado; deve ser zero. |
Os aplicativos devem usar a função CreateProcess em vez de LoadModule. A função LoadModule chama CreateProcess formando os parâmetros da seguinte maneira.
Parâmetro CreateProcess | Argumento usado |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock. lpCmdLine |
lpProcessAttributes | NULO |
lpThreadAttributes | NULO |
bInheritHandles | FALSE |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock. lpEnvAddress |
lpCurrentDirectory | NULO |
lpStartupInfo | A estrutura é inicializada como zero. O membro cb é definido como o tamanho da estrutura. O membro wShowWindow é definido como o valor da segunda palavra de lpParameterBlock. lpCmdShow. |
lpProcessInformation.hProcess | O identificador é imediatamente fechado. |
lpProcessInformation.hThread | O identificador é imediatamente fechado. |
Requisitos
Cliente mínimo com suporte | 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 | winbase.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |