Función LoadModule (winbase.h)
Carga y ejecuta una aplicación o crea una nueva instancia de una aplicación existente.
Sintaxis
DWORD LoadModule(
[in] LPCSTR lpModuleName,
[in] LPVOID lpParameterBlock
);
Parámetros
[in] lpModuleName
Nombre de archivo de la aplicación que se va a ejecutar. Al especificar una ruta de acceso, asegúrese de usar barras diagonales inversas (\), no barras diagonales (/). Si el parámetro lpModuleName no contiene una ruta de acceso de directorio, el sistema busca el archivo ejecutable en este orden:
- Directorio desde el que se cargó la aplicación.
- El directorio actual.
- Directorio del sistema. Use la función GetSystemDirectory para obtener la ruta de acceso de este directorio.
- Directorio del sistema de 16 bits. No hay ninguna función que obtenga la ruta de acceso de este directorio, pero se busca. El nombre de este directorio es System.
- El directorio de Windows. Use la función GetWindowsDirectory para obtener la ruta de acceso de este directorio.
- Los directorios que aparecen en la variable de entorno PATH.
[in] lpParameterBlock
Puntero a una estructura de LOADPARMS32 definida por la aplicación que define el bloque de parámetros de la nueva aplicación.
Establezca todos los miembros no usados en NULL, excepto lpCmdLine, que debe apuntar a una cadena terminada en null si no se usa. Para obtener más información, vea la sección Comentarios.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es mayor que 31.
Si se produce un error en la función, el valor devuelto es un valor de error, que puede ser uno de los valores siguientes.
Código o valor devuelto | Descripción |
---|---|
|
El sistema no tiene memoria o recursos. |
|
El archivo .exe no es válido. |
|
No se encontró el archivo especificado. |
|
No se encontró la ruta de acceso especificada. |
Comentarios
La estructura LOADPARMS32 tiene la siguiente forma:
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;
Miembro | Significado |
---|---|
lpEnvAddress | Puntero a una matriz de cadenas terminadas en NULL que proporcionan las cadenas de entorno para el nuevo proceso. La matriz tiene un valor NULL como última entrada. Un valor null para este parámetro hace que el nuevo proceso comience con el mismo entorno que el proceso de llamada. |
lpCmdLine | Puntero a una cadena de estilo Pascal que contiene una línea de comandos formada correctamente. El primer byte de la cadena contiene el número de bytes de la cadena. El resto de la cadena contiene los argumentos de la línea de comandos, excepto el nombre del proceso secundario. Si no hay argumentos de línea de comandos, este parámetro debe apuntar a una cadena de longitud cero; no puede ser NULL. |
lpCmdShow | Puntero a una estructura que contiene dos valores DE WORD . El primer valor siempre debe establecerse en dos. El segundo valor especifica cómo se va a mostrar la ventana de la aplicación y se usa para proporcionar el miembro wShowWindow de la estructura STARTUPINFO a la función CreateProcess . Vea la descripción del parámetro nCmdShow de la función ShowWindow para obtener una lista de valores aceptables. |
dwReserved | Este parámetro está reservado; debe ser cero. |
Las aplicaciones deben usar la función CreateProcess en lugar de LoadModule. La función LoadModule llama a CreateProcess mediante la formación de los parámetros como se indica a continuación.
Parámetro CreateProcess | Argumento usado |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock. lpCmdLine |
lpProcessAttributes | NULL |
lpThreadAttributes | NULL |
bInheritHandles | FALSE |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock. lpEnvAddress |
lpCurrentDirectory | NULL |
lpStartupInfo | La estructura se inicializa en cero. El miembro cb se establece en el tamaño de la estructura. El miembro wShowWindow se establece en el valor de la segunda palabra de lpParameterBlock. lpCmdShow. |
lpProcessInformation.hProcess | El controlador se cierra inmediatamente. |
lpProcessInformation.hThread | El controlador se cierra inmediatamente. |
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |