WinExec

【勇芳软件工作室】汉化HomePreviousNext

WinExec函数运行指定的应用程序。

提供此函数以兼容早期版本的Windows。对于基于Win32的应用程序,请使用CreateProcess功能。

UINT WinExec(

LPCSTR 【lpCmdLine】,//命令行地址
UINT 【uCmdShow】//新的应用程序的窗口样式
); 

参数

【lpCmdLine】

指向包含要执行的应用程序的命令行(filename加上可选参数)的以null结尾的字符串。如果【lpCmdLine】参数中的可执行文件的名称不包含目录路径,Windows将按以下顺序搜索可执行文件:

1.应用程序加载的目录。

2.当前目录。

3.Windows系统目录。GetSystemDirectory函数检索此目录的路径。

4.Windows目录。GetWindowsDirectory函数检索此目录的路径。

5. PATH环境变量中列出的目录。

【uCmdShow】

指定如何显示基于Windows的应用程序窗口,并用于向CreateProcess功能提供STARTUPINFO参数的wShowWindow成员。有关可接受值的列表,请参阅ShowWindow功能的【nCmdShow】参数的说明。对于非基于Windows的应用程序,应用程序的PIF文件(如果有)会决定窗口状态。

返回值

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

如果函数失败,则返回值为以下错误值之一:

含义
0系统内存不足或资源不足。
ERROR_BAD_FORMAT.EXE文件无效(非Win32 .EXE或.EXE映像中的错误)。
ERROR_FILE_NOT_FOUND找不到指定的文件。
ERROR_PATH_NOT_FOUND找不到指定的路径。

备注

基于Win32的应用程序应该使用CreateProcess函数,而不是使用此函数。Win32中存在WinExec功能,以便与早期版本的Windows兼容。有关如何实现WinExec功能的更多信息,请参阅LoadModule功能的备注部分。

在Win32中,当启动的进程调用GetMessage功能或达到超时限制时,WinExec函数返回。为了避免等待超时延迟,请在通过调用WinExec开始的任何进程中尽快调用GetMessage功能。

也可以看看

CreateProcess, GetMessage, GetSystemDirectory, GetWindowsDirectory, LoadModule, ShowWindow