LoadModule 函式 (winbase.h)
載入和執行應用程式,或建立現有應用程式的新實例。
注意 此函式僅適用于與 16 位版本的 Windows 相容。 應用程式應該使用 CreateProcess 函式。
語法
DWORD LoadModule(
[in] LPCSTR lpModuleName,
[in] LPVOID lpParameterBlock
);
參數
[in] lpModuleName
要執行之應用程式的檔案名。 指定路徑時,請務必使用反斜線 (\) ,而不是正斜線 (/) 。 如果 lpModuleName 參數不包含目錄路徑,系統會依下列順序搜尋可執行檔:
- 應用程式從中載入的目錄。
- 目前的目錄。
- 系統目錄。 使用 GetSystemDirectory 函式 來取得此目錄的路徑。
- 16 位系統目錄。 沒有函式可取得此目錄的路徑,但已搜尋。 此目錄的名稱為 System。
- Windows 目錄。 使用 GetWindowsDirectory 函式 來取得此目錄的路徑。
- PATH 環境變數中列出的目錄。
[in] lpParameterBlock
定義應用程式 之LOADPARMS32 結構的指標,定義新應用程式的參數區塊。
將所有未使用的成員設定為 Null,但 lpCmdLine除外,如果未使用,則必須指向 Null 終止的字串。 如需詳細資訊,請參閱<備註>。
傳回值
如果函式成功,則傳回值大於 31。
如果函式失敗,則傳回值是錯誤值,可能是下列其中一個值。
傳回碼/值 | 描述 |
---|---|
|
系統記憶體不足或資源。 |
|
.exe 檔案無效。 |
|
找不到指定的檔案。 |
|
找不到指定的路徑。 |
備註
LOADPARMS32結構的格式如下:
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;
成員 | 意義 |
---|---|
lpEnvAddress | 為新進程提供環境字串之 Null 終止字串陣列的指標。 陣列的值為 Null 做為其最後一個專案。 此參數的 Null 值會導致新的進程以與呼叫進程相同的環境啟動。 |
lpCmdLine | 包含正確格式命令列之 Pascal 樣式字串的指標。 字串的第一個位元組包含字串中的位元組數目。 字串的其餘部分包含命令列引數,不包括子進程的名稱。 如果沒有命令列引數,此參數必須指向零長度字串;它不能是 Null。 |
lpCmdShow | 包含兩個 WORD 值的 結構的指標。 第一個值一律必須設定為兩個。 第二個值會指定如何顯示應用程式視窗,並用來將STARTUPINFO結構的wShowWindow成員提供給CreateProcess函式。 如需可接受的值清單,請參閱ShowWindow函式的nCmdShow參數描述。 |
dwReserved | 此參數是保留的;它必須是零。 |
應用程式應該使用 CreateProcess 函式,而不是 LoadModule。 LoadModule函式會藉由形成如下所示的參數來呼叫CreateProcess。
CreateProcess 參數 | 使用的引數 |
---|---|
lpszApplicationName | lpModuleName |
lpszCommandLine | lpParameterBlock。lpCmdLine |
lpProcessAttributes | NULL |
lpThreadAttributes | NULL |
bInheritHandles | false |
dwCreationFlags | 0 |
lpEnvironment | lpParameterBlock。lpEnvAddress |
lpCurrentDirectory | NULL |
lpStartupInfo | 結構會初始化為零。 cb成員會設定為 結構的大小。 wShowWindow成員會設定為lpParameterBlock第二個字的值。lpCmdShow。 |
lpProcessInformation.hProcess | 控制碼會立即關閉。 |
lpProcessInformation.hThread | 控制碼會立即關閉。 |
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |