资源描述:
《delphi打开外部程序或文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、WinAPI:ShellExecute-打开外部程序或文件ShellExecute(hWnd:HWND;{指定父窗口句柄}Operation:PChar;{指定动作,譬如:open、print}FileName:PChar;{指定要打开的文件或程序}Parameters:PChar;{给要打开的程序指定参数;如果打开的是文件这里应该是nil}Directory:PChar;{缺省目录}ShowCmd:Integer{打开选项}):HINST;{执行成功会返回应用程序句柄;如果这个值<=32,表示执行错误}//返回值可能的错误有:=0{内存不足}ERROR_FILE_NO
2、T_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;{没有相关联的应用程序}//ShowCmd参数可选值:SW_HIDE=0;{隐
3、藏}SW_SHOWNORMAL=1;{用最近的大小和位置显示,激活}SW_NORMAL=1;{同SW_SHOWNORMAL}SW_SHOWMINIMIZED=2;{最小化,激活}SW_SHOWMAXIMIZED=3;{最大化,激活}SW_MAXIMIZE=3;{同SW_SHOWMAXIMIZED}SW_SHOWNOACTIVATE=4;{用最近的大小和位置显示,不激活}SW_SHOW=5;{同SW_SHOWNORMAL}SW_MINIMIZE=6;{最小化,不激活}SW_SHOWMINNOACTIVE=7;{同SW_MINIMIZE}SW_SHOWNA=8;{同SW_S
4、HOWNOACTIVATE}SW_RESTORE=9;{同SW_SHOWNORMAL}SW_SHOWDEFAULT=10;{同SW_SHOWNORMAL}SW_MAX=10;{同SW_SHOWNORMAL}--------------------------------------------------------------------------------//举例说明更多问题(别忘了usesShellAPI;):{譬如用记事本打开一个文件}beginShellExecute(Handle,'open','notepad.exe','C:WINDOWSSche
5、dLgU.Txt',nil,SW_SHOWNORMAL);end;--------------------------------------------------------------------------------{第一个参数是用来当作错误提示窗口的父窗口的,不能是nil,可以是0(也就是桌面窗口)}beginShellExecute(0,'open','notepad.exe','C:WINDOWSSchedLgU.Txt',nil,SW_SHOWNORMAL);end;-----------------------------------------
6、---------------------------------------{第二个参数如果是nil,也会默认位open}beginShellExecute(0,nil,'notepad.exe','C:WINDOWSSchedLgU.Txt',nil,SW_SHOWNORMAL);end;--------------------------------------------------------------------------------{文件路径可以放在参数五}beginShellExecute(0,nil,'notepad.exe','SchedLg
7、U.Txt','C:WINDOWS',SW_SHOWNORMAL);end;--------------------------------------------------------------------------------{把参数三直接指定为要打开的文件,文件将用对应默认程序打开;次数参数四应为nil}beginShellExecute(0,nil,'SchedLgU.Txt',nil,'C:WINDOWS',SW_SHOWNORMAL);end;-------------------------------------