delphi调用外部程序

来源:互联网 发布:excel怎么复制一列数据 编辑:程序博客网 时间:2024/04/28 06:31
这个程序主要作用就是用Delphi调用外部程序

并实现运行过程中不显示/显示运行窗口的功能

这样就可以实现运行批处理不出现黑窗口的功能了。

具体实现过程如下,如果你其中有不明白的地方可以先放着

因为这是给网吧专用的快速入门教程。

(如果你没看昨天的教程一,建议你先看)

下面是详细实现过程:

1、按照昨天讲的方法,放置一个按钮组件到窗口设计界面上,双击按钮,转到代码编辑窗口:

输入以下命令(全部大写的块,不用去管,全部是常量,Delphi系统提供的):

procedure TForm1.btn1Click ( Sender: TObject ) ;//这行是自动生成的。
var
nResult                                                                       : Integer ;//定义运行结果变量
begin
nResult := WinExec ( 'c:\1.bat' , 0 ) ;//''内的是执行外部命令完整路径,0参数,表明不显示运行窗口,你可以改成1试试效果。
if nResult > 31 then //返回结果大于31表明成功运行
    ShowMessage ( '成功运行!' )
else
    if nResult = 0 then
      ShowMessage ( '超出系统内存资源!' )
    else
      if nResult = ERROR_BAD_FORMATthen //
        ShowMessage ( '不是合法的Win32程序' )
      else
        if nResult = ERROR_FILE_NOT_FOUNDthen
          ShowMessage ( '指定的文件未找到' )
        else
          if nResult = ERROR_BAD_FORMAT then
            ShowMessage ( '不是合法的Win32程序' )
          else
            ShowMessage ( '未知错误!' ) ;
end ;

按F9运行后效果图(C:\1.bat文件存在,正常时的效果图):

如果此时删掉c:\1.bat文件或者改名后,再运行,你就会发现,会提示'指定的文件未找到' 。

WinExec这是一个函数,是Windows提供的。具体参数和使用方法可以直接用Delphi的帮助中找到,点 Help菜单,Windows SDK里面索引,输入WinExec即可找到帮助(可惜是英文的),好了,明天继续,今天你学会这个可以自己写隐藏DOS批处理黑窗口程序了~~

0 0
原创粉丝点击