功能:ShellExecute的功能是运行一个外部程序
头文件:#include <shellapi.h>
函数原型:
ShellExecute(HWND hWnd,LPCSTR lpOperation,LPCSTR lpFileName,LPCSTR lpParameters,
LPCSTR lpDirectory,int nShowCmd)
HWND hWnd: {用于指定父窗体句柄。当函数调用过程出现错误时,它将作为Windows消息窗体的父窗体。比如,能够将其设置为应用程序主窗体句柄,即 Application.Handle,也能够将其设置为桌面窗体句柄(用GetDesktopWindow函数获得}
LPCSTR lpOperation:用于指定要进行的操作: open、print、edit、explore、find
- “open”操作表示运行由FileName參数指定的程序,或打开由FileName參数指定的文件或目录;
- “print”操作表示打印由FileName參数指定的文件;
- “explore”操作表示浏览由FileName參数指定的目录。
- edit 编辑;
- find 搜寻;
- 当參数设为nil时,表示运行默认操作“open”;
LPCSTR lpFileName: 用于指定要打开的文件名称、要运行的程序文件名称或要浏览的目录名。
LPCSTR lpParameters:若FileName參数是一个可运行程序,则此參数指定命令行參数,否则此參数应为nil或PChar(0)
LPCSTR lpDirectory: 用于指定默认目录
int nShowCmd: 若FileName參数是一个可运行程序,则此參数指定程序窗体的初始显示方式,否则此參数应设置为0
此參数可为下列值之中的一个(例:SW_HIDE(要加SW_))
返回值:
执行成功会返回应用程序句柄返回的HINSTANCE可以将它转换为一个整数(%d),并比较它的值大于还是小于32或比较它的错误代码
返回值大于32表示执行成功
返回值小于32表示执行错误
返回值可能的错误有: = 0 {内存不足}
ERROR_FILE_NOT_FOUND = 2; {文件名错误}
ERROR_PATH_NOT_FOUND = 3; {路径名错误}
ERROR_BAD_FORMAT = 11; {EXE 文件无效}
SE_ERR_SHARE = 26; {发生共享错误}
SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}
SE_ERR_DDETIMEOUT = 28; {超时}
SE_ERR_DDEFAIL = 29; {DDE 事务失败}
SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务}
SE_ERR_NOASSOC = 31; {没有相关联的应用程序}
来源:CSDN
作者:alzzw
链接:https://blog.csdn.net/alzzw/article/details/103722513