Fungsi LoadModule (winbase.h)
Memuat dan menjalankan aplikasi atau membuat instans baru dari aplikasi yang ada.
Sintaks
DWORD LoadModule(
[in] LPCSTR lpModuleName,
[in] LPVOID lpParameterBlock
);
Parameter
[in] lpModuleName
Nama file aplikasi yang akan dijalankan. Saat menentukan jalur, pastikan untuk menggunakan garis miring terbalik (\), bukan garis miring (/). Jika parameter lpModuleName tidak berisi jalur direktori, sistem akan mencari file yang dapat dieksekusi dalam urutan ini:
- Direktori tempat aplikasi dimuat.
- Direktori saat ini.
- Direktori sistem. Gunakan fungsi GetSystemDirectory untuk mendapatkan jalur direktori ini.
- Direktori sistem 16-bit. Tidak ada fungsi yang mendapatkan jalur direktori ini, tetapi dicari. Nama direktori ini adalah Sistem.
- Direktori Windows. Gunakan fungsi GetWindowsDirectory untuk mendapatkan jalur direktori ini.
- Direktori yang tercantum dalam variabel lingkungan PATH.
[in] lpParameterBlock
Penunjuk ke struktur LOADPARMS32 yang ditentukan aplikasi yang menentukan blok parameter aplikasi baru.
Atur semua anggota yang tidak digunakan ke NULL, kecuali untuk lpCmdLine, yang harus menunjuk ke string yang dihentikan null jika tidak digunakan. Untuk informasi selengkapnya, lihat Keterangan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan lebih besar dari 31.
Jika fungsi gagal, nilai yang dikembalikan adalah nilai kesalahan, yang mungkin merupakan salah satu nilai berikut.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Sistem kehabisan memori atau sumber daya. |
|
File .exe tidak valid. |
|
File yang ditentukan tidak ditemukan. |
|
Jalur yang ditentukan tidak ditemukan. |
Keterangan
Struktur LOADPARMS32 memiliki bentuk berikut:
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;
Anggota | Makna |
---|---|
lpEnvAddress | Penunjuk ke array string yang dihentikan null yang menyediakan string lingkungan untuk proses baru. Array memiliki nilai NULL sebagai entri terakhirnya. Nilai NULL untuk parameter ini menyebabkan proses baru dimulai dengan lingkungan yang sama dengan proses panggilan. |
lpCmdLine | Penunjuk ke string gaya Pascal yang berisi baris perintah yang terbentuk dengan benar. Byte pertama dari string berisi jumlah byte dalam string. Sisa string berisi argumen baris perintah, tidak termasuk nama proses anak. Jika tidak ada argumen baris perintah, parameter ini harus menunjuk ke string panjang nol; tidak boleh NULL. |
lpCmdShow | Penunjuk ke struktur yang berisi dua nilai WORD . Nilai pertama harus selalu diatur ke dua. Nilai kedua menentukan bagaimana jendela aplikasi akan ditampilkan dan digunakan untuk menyediakan anggota wShowWindow dari struktur STARTUPINFO ke fungsi CreateProcess . Lihat deskripsi parameter nCmdShow dari fungsi ShowWindow untuk daftar nilai yang dapat diterima. |
dwReserved | Parameter ini dicadangkan; pasti nol. |
Aplikasi harus menggunakan fungsi CreateProcess alih-alih LoadModule. Fungsi LoadModule memanggil CreateProcess dengan membentuk parameter sebagai berikut.
Parameter CreateProcess | Argumen yang digunakan |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock. lpCmdLine |
lpProcessAttributes | NULL |
lpThreadAttributes | NULL |
bInheritHandles | FALSE |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock. lpEnvAddress |
lpCurrentDirectory | NULL |
lpStartupInfo | Struktur diinisialisasi ke nol. Anggota cb diatur ke ukuran struktur. Anggota wShowWindow diatur ke nilai kata kedua lpParameterBlock. lpCmdShow. |
lpProcessInformation.hProcess | Handel segera ditutup. |
lpProcessInformation.hThread | Handel segera ditutup. |
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |