vs 實現執行可執行檔案

2021-09-26 12:47:39 字數 2456 閱讀 4530

有三個api函式可以執行可執行檔案winexec、shellexecute和createprocess。

1.createprocess因為使用複雜,比較少用。

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

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

一、shellexecute轉義字元%0a。

例子(delphi):

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

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

在project1.exe裡可以呼叫:

procedure tform1.formcreate(sender: tobject);

vari: 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相同

函式返回值:

執行成功會返回應用程式控制代碼

返回的hinstance可以將它轉換為乙個整數(%d),並比較它的值大於還是小於32或比較它的錯誤**

返回值大於32表示執行成功

返回值小於32表示執行錯誤

返回值可能的錯誤有: = 0

error_file_not_found = 2;

error_path_not_found = 3;

error_bad_format = 11;

se_err_share = 26;

se_err_associncomplete = 27;

se_err_ddetimeout = 28;

se_err_ddefail = 29;

se_err_ddebusy = 30;

se_err_noassoc = 31;

二、winexec

//宣告

winexec(

lpcmdline: lpcstr;

ucmdshow: uint     

): uint;

//說明 :執行指定的程式

//返回值 

大於 31                    

等於 0

error_file_not_found = 2;  

error_path_not_found = 3;  

error_bad_format     = 11;

(請參考findexecutable函式)

//參數列: 

引數 型別及說明 

lpcmdline string,包含要執行的命令列 

ucmdshow long,定義了以怎樣的形式啟動程式的常數值。

//ucmdshow 引數可選值:

sw_hide            = 0; sw_shownormal = 1;

sw_normal          = 1;

sw_showminimized   = 2;

sw_showmaximized   = 3;

sw_maximize        = 3;

sw_shownoactivate  = 4;

sw_show            = 5;

sw_minimize        = 6;

sw_showminnoactive = 7;

sw_showna          = 8;

sw_restore         = 9;

sw_showdefault     = 10;

sw_max             = 10;  

三、createprocess

linux 執行可執行檔案

1 首先,需要了解一下a.out這個目標檔案。a.out在linux下是elf executable linkable format 檔案格式,該目標檔案由乙個檔案頭 段 資料段 已初始化 從定位資訊區 符號表及符號名字字串構成,如下左圖所示,經過鏈結後生成執行檔案如下右圖所示,需要說明的是1 bs...

API函式執行可執行檔案

shellexecute hwnd hwnd,父視窗控制代碼 lpcstr lpoperation,操作型別 lpcstr lpfile,要進行操作的檔案或路徑 lpcstr lpparameters,當lpoperation為 explore 時指定要傳遞的引數,通常設為null lpcstr l...

Linux下執行可執行檔案

我們通常會為計算機配置環境變數 path,echo path 檢視當前的環境變數包含的目錄。這些目錄下的可執行檔案就無需輸入完整路徑來執行,直接輸入命令就行,我們shell中常使用的一些linux命令,例如man,cat等的目錄都被包含在該path目錄中,所以直接在shell中輸入這些命令就可以。即...