Delphi呼叫外部程式詳解

2021-04-13 02:13:27 字數 2149 閱讀 5743

inexec主要執行exe檔案。如:winexec(』notepad.exe readme.txt』, sw_show); 

shellexecute不僅可以執行exe檔案,也可以執行已經關聯的檔案。

首先必須引用shellapi.pas單元:uses shellapi; 

2.特殊用法 

如果將filename引數設定為「http:」協議格式,那麼該函式將開啟預設瀏覽器並鏈結到指定的url位址。若使用者機器中安裝了多個瀏覽器,則該函式將根據windows 9x/nt登錄檔中http協議處理程式(protocols handler)的設定確定啟動哪個瀏覽器。 

格式一:http://**網域名稱。 

如:shellexecute(handle, 『open』, http:// ;  www.neu.edu.cn』, nil, nil, sw_shownormal); 

格式二:http://**網域名稱/網頁檔名。 

如:shellexecute(handle, 『open』, http:// ;  www.neu.edu.cn/default.htm』,nil,nil,  sw_shownormal); 

如果將filename引數設定為「mailto:」協議格式,那麼該函式將啟動預設郵件客戶程式,如microsoft outlook(也包括microsoft outlook express)或netscape messanger。若使用者機器中安裝了多個郵件客戶程式,則該函式將根據windows 9x/nt登錄檔中mailto協議處理程式的設定確定啟動哪個郵件客戶程式。 

格式一:mailto: 

如:shellexecute(handle,『open』, 『mailto:』, nil, nil, sw_shownormal);開啟新郵件視窗。 

格式二:mailto:使用者賬號@郵件伺服器位址 

如:shellexecute(handle, 『open』,『 mailto:[email protected]』, nil, nil, sw_shownormal);開啟新郵件視窗,並自動填入收件人位址。若指定多個收件人位址,則收件人位址之間必須用分號或逗號分隔開(下同)。 

格式三:mailto:使用者賬號@郵件伺服器位址?subject=郵件主題&body=郵件正文 

如:shellexecute(handle, 『open』, 『 mailto:[email protected]?subject=hello&body=this is a test』, nil, nil, sw_shownormal);開啟新郵件視窗,並自動填入收件人位址、郵件主題和郵件正文。若郵件正文包括多行文字,則必須在每行文字之間加入換行轉義字元%0a。 

例子(delphi): 

在乙個應用程式呼叫c:project1.exe; 

shellexecute(handle, 』open』,』c:project1.exe』,』字串內容』,nil, sw_shownormal); 

在project1.exe裡可以呼叫: 

procedure tform1.formcreate(sender: tobject); 

var i:integer; 

begin 

for i:=1 to paramcount do 

if paramstr(i)〈〉』』 then showmessage(paramstr(i)); 

end;

最後的那個引數,為視窗指定可視性方面的乙個命令。 

請用下述任何乙個常數 

sw_hide 隱藏視窗,活動狀態給令乙個視窗 

sw_minimize 最小化視窗,活動狀態給令乙個視窗 

sw_restore 用原來的大小和位置顯示乙個視窗,同時令其進入活動狀態 

sw_show 用當前的大小和位置顯示乙個視窗,同時令其進入活動狀態 

sw_showmaximized 最大化視窗,並將其啟用 

sw_showminimized 最小化視窗,並將其啟用 

sw_showminnoactive 最小化乙個視窗,同時不改變活動視窗 

sw_showna 用當前的大小和位置顯示乙個視窗,不改變活動視窗 

sw_shownoactivate 用最近的大小和位置顯示乙個視窗,同時不改變活動視窗 

sw_shownormal 與sw_restore相同 

Delphi啟動外部程式

無論是用vc還是用delphi,啟動外部程式,呼叫的都是相同的系統中的api函式,如下delphi 所示 登入按鈕 procedure tform1.label loginclick sender tobject begin end delphi啟動其它程式函式 begin 使用winexec也可以...

呼叫外部程式

下面是呼叫外部程式的 system.diagnostics.processstartinfo info new system.diagnostics.processstartinfo 這裡是你要呼叫到的外部程式 info.filename vmdotnet v2.0.50727 fetionvm.e...

delphi怎樣呼叫外部EXE檔案

delphi怎樣呼叫外部exe檔案 delphi怎樣呼叫外部exe檔案 方法一uses winprocs begin winexec end.和呼叫pascal庫函式沒什麼兩樣。方法二用shellexecute更好,在uses段加入shellapi,使用時如 第乙個引數為父視窗控制代碼 第二個引數為...