loadModule 函数 (winbase.h)

加载和执行应用程序或创建现有应用程序的新实例。

注意 提供此函数只是为了与 16 位版本的 Windows 兼容。 应用程序应使用 CreateProcess 函数。
 

语法

DWORD LoadModule(
  [in] LPCSTR lpModuleName,
  [in] LPVOID lpParameterBlock
);

参数

[in] lpModuleName

要运行的应用程序的文件名。 指定路径时,请务必使用反斜杠 (\) ,而不是使用 /) (正斜杠。 如果 lpModuleName 参数不包含目录路径,则系统按以下顺序搜索可执行文件:

  1. 从中加载应用程序的目录。
  2. 当前目录。
  3. 系统目录。 使用 GetSystemDirectory 函数获取此目录的路径。
  4. 16 位系统目录。 没有获取此目录的路径的函数,但会对其进行搜索。 此目录的名称为 System。
  5. Windows 目录。 使用 GetWindowsDirectory 函数获取此目录的路径。
  6. PATH 环境变量中列出的目录。

[in] lpParameterBlock

指向应用程序定义的 LOADPARMS32 结构的指针,该结构定义新应用程序的 参数块。

将所有未使用的成员设置为 NULL, lpCmdLine 除外,如果未使用,则必须指向以 null 结尾的字符串。 有关详细信息,请参阅“备注”。

返回值

如果函数成功,则返回值大于 31。

如果函数失败,则返回值是错误值,可能是以下值之一。

返回代码/值 说明
0
系统内存或资源不足。
ERROR_BAD_FORMAT
11L
.exe 文件无效。
ERROR_FILE_NOT_FOUND
2L
找不到指定的文件。
ERROR_PATH_NOT_FOUND
3L
未找到指定路径。

注解

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 值的 结构的指针。 第一个值必须始终设置为 2。 第二个值指定应用程序窗口的显示方式,用于向 CreateProcess 函数提供 STARTUPINFO 结构的 wShowWindow 成员。 有关可接受的值的列表,请参阅 ShowWindow 函数的 nCmdShow 参数的说明。
dwReserved 此参数为保留参数;它必须为零。
 

应用程序应使用 CreateProcess 函数而不是 LoadModuleLoadModule 函数通过形成参数来调用 CreateProcess,如下所示。

CreateProcess 参数 使用的参数
lpszApplicationName lpModuleName
lpszCommandLine lpParameterBlocklpCmdLine
lpProcessAttributes Null
lpThreadAttributes Null
bInheritHandles FALSE
dwCreationFlags 0
lpEnvironment lpParameterBlocklpEnvAddress
lpCurrentDirectory Null
lpStartupInfo 结构初始化为零。 cb 成员设置为 结构的大小。 wShowWindow 成员设置为 lpParameterBlock 的第二个单词的值。lpCmdShow
lpProcessInformation.hProcess 句柄立即关闭。
lpProcessInformation.hThread 句柄立即关闭。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CreateProcess

动态链接库函数

GetSystemDirectory

GetWindowsDirectory