delphi調用外部程序

這個程序主要作用就是用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_FORMAT then //
        ShowMessage ( '不是合法的Win32程序' )
      else
        if nResult = ERROR_FILE_NOT_FOUND then
          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批處理黑窗口程序了~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章