ShellExecute函数用于执行shell命令,可用于打开文件夹或文件,ShellExecute函数的多字节版本ShellExecuteA(宽字符版本为ShellExecuteW)原型如下
HINSTANCE ShellExecuteA(HWND hwnd,LPCSTR lpOperation,LPCSTR lpFile,LPCSTR lpParameters,LPCSTR lpDirectory,INT nShowCmd);
hwnd为父窗口版本,如果不需要父窗口则传入NULL
lpOperation字符串指示操作行为,可取edit/explore/find/open/print,打开文件夹和文件主要用到explore和open
lpFile文件或文件夹路径
lpParameters如果lpFile是可执行文件,这里作为其参数,不然传NULL即可
lpDirectory被执行文件的工作路径,如果是NULL,则默认是当前程序的工作路径,如果被执行文件需要查找含相对路径的文件时可能需要设置这个值
nShowCmd打开的文件窗口显示模式SW_*宏,如SW_HIDE/SW_SHOW,这个参数被传给打开的可执行文件(WinMain的第四个参数),至于要怎么处理由它自己决定
该函数返回HINSTANCE类型,可转为int,大于42时表示操作成功,下面是官方文档列出的错误