执行外部程序 WinExec【转】
当我们执行的程序要调用其他的执行文件时,可以利用 WinExec 命令,它可以调用其他的执行文件。
命令如下:
WinExec(LPCSTL lpCmdLine, UINT uCmdShow);
参数如下:
lpCmdLine:命令执行字符串,也就是我们在“开始”-->“执行”或者是在DOS窗口下,可以输入的命令行,通过这个命令行,可以传入不同的执行命令,而执行时必须注意下列事项:
· 此应用程序必须可以执行
· 目录及路径必须正确
· 自己可以调用自己
· 被调用的程序为独立的执行绪,和调用者无关
· 不可远程调用
uCmdShow:执行模式,程序执行时所显示的状态,我们可以让程序执行时无声无息,也可以显示成最大窗口:
· SW_HIDE:将程序隐藏
· SW_MAXIMIZE:将程序最大化
· SW_MINIMIZE:将程序最小化
· SW_RESTOTRE:将程序还原化
· SW_SHOW:将程序显示在正确位置
· SW_SHOWDEFAULT:将程序显示在默认位置
· SW_SHOWMAXIMIZED:将程序显示最大化
· SW_SHOWMINIMIZED:将程序显示最小化
· SW_SHOWMINNOACTIVE:将程序显示最小化,但是不Active
· SW_SHOWNA:将程序显示,但是Active
· SW_SHOWNOACTIVE:将程序显示,但是不Active
· SW_SHOWNORMAL:将程序显示一般状态
返回值:
当调用程序正常且成功,则会返回数值不小于31的值,如果失败,则会返回小于31的错误码。
· >=31 成功
· 0 系统没有内存资源
· ERROR_BAD_FORMAT 此程序不是Win32格式或者不是可执行文件
· ERROR_FILE_NOT_FOUND 该文件找不到
· ERROR_PATH_NOT_FOUND 该路径找不到
举例1:调用计算器
procedure TForm1.Btn1Click(Sender: TObject); begin WinExec('Calc.exe', SW_SHOWNORMAL); end;
举例2:调用自己
procedure TForm1.Btn1Click(Sender: TObject); begin WinExec('project1.exe', SW_SHOW); end;
附言:摘自Delphi 6程序设计从入门到精通(黄文钰著)