执行外部程序 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程序设计从入门到精通(黄文钰著)

posted @ 2013-02-12 14:40  林燃  阅读(5900)  评论(0编辑  收藏  举报