Funzione LoadModule (winbase.h)
Carica ed esegue un'applicazione o crea una nuova istanza di un'applicazione esistente.
Sintassi
DWORD LoadModule(
[in] LPCSTR lpModuleName,
[in] LPVOID lpParameterBlock
);
Parametri
[in] lpModuleName
Nome file dell'applicazione da eseguire. Quando si specifica un percorso, assicurarsi di usare le barre rovesciata (\), non le barre in avanti (/). Se il parametro lpModuleName non contiene un percorso di directory, il sistema cerca il file eseguibile in questo ordine:
- Directory da cui è stata caricata l'applicazione.
- La directory corrente.
- Directory di sistema. Usare la funzione GetSystemDirectory per ottenere il percorso di questa directory.
- Directory di sistema a 16 bit. Non esiste alcuna funzione che ottiene il percorso di questa directory, ma viene eseguita la ricerca. Il nome di questa directory è System.
- La directory Windows. Usare la funzione GetWindowsDirectory per ottenere il percorso di questa directory.
- Directory elencate nella variabile di ambiente PATH.
[in] lpParameterBlock
Puntatore a una struttura di LOADPARMS32 definita dall'applicazione che definisce il blocco di parametri della nuova applicazione.
Impostare tutti i membri inutilizzati su NULL, ad eccezione di lpCmdLine, che deve puntare a una stringa con terminazione null se non viene usata. Per altre informazioni, vedere la sezione Osservazioni.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è maggiore di 31.
Se la funzione ha esito negativo, il valore restituito è un valore di errore, che può essere uno dei valori seguenti.
Codice/valore restituito | Descrizione |
---|---|
|
Il sistema non è in memoria o risorse. |
|
Il file .exe non è valido. |
|
Il file specificato non è stato trovato. |
|
Il percorso specificato non è stato trovato. |
Commenti
La struttura LOADPARMS32 ha il formato seguente:
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 | Significato |
---|---|
lpEnvAddress | Puntatore a una matrice di stringhe con terminazione null che forniscono le stringhe di ambiente per il nuovo processo. La matrice ha un valore NULL come ultima voce. Un valore null per questo parametro causa l'avvio del nuovo processo con lo stesso ambiente del processo chiamante. |
lpCmdLine | Puntatore a una stringa in stile Pascal che contiene una riga di comando configurata correttamente. Il primo byte della stringa contiene il numero di byte nella stringa. Il resto della stringa contiene gli argomenti della riga di comando, esclusi il nome del processo figlio. Se non sono presenti argomenti della riga di comando, questo parametro deve puntare a una stringa di lunghezza zero; non può essere NULL. |
lpCmdShow | Puntatore a una struttura contenente due valori WORD . Il primo valore deve essere sempre impostato su due. Il secondo valore specifica la modalità di visualizzazione della finestra dell'applicazione e viene usato per fornire il membro wShowWindow della struttura STARTUPINFO alla funzione CreateProcess . Per un elenco di valori accettabili, vedere la descrizione del parametro nCmdShow della funzione ShowWindow . |
dwReserved | Questo parametro è riservato; deve essere zero. |
Le applicazioni devono usare la funzione CreateProcess anziché LoadModule. La funzione LoadModule chiama CreateProcess formando i parametri come indicato di seguito.
Parametro CreateProcess | Argomento usato |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock. lpCmdLine |
lpProcessAttributes | NULL |
lpThreadAttributes | NULL |
bInheritHandles | FALSE |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock. lpEnvAddress |
lpCurrentDirectory | NULL |
lpStartupInfo | La struttura viene inizializzata su zero. Il membro cb è impostato sulle dimensioni della struttura. Il membro wShowWindow è impostato sul valore della seconda parola di lpParameterBlock. lpCmdShow. |
lpProcessInformation.hProcess | L'handle viene chiuso immediatamente. |
lpProcessInformation.hThread | L'handle viene chiuso immediatamente. |
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |