當我們執行的程序要調用其他的執行文件時,可以利用 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程序設計從入門到精通(黃文鈺著)