VC 呼叫外部程式介面

2021-08-27 02:29:54 字數 2157 閱讀 8594

(1) system()

函式名: system

功 能: 發出乙個dos命令

用 法: int system(char *command);

備 注: system函式已經被收錄在標準c庫中,可以直接呼叫

返回值=-1:出現錯誤

=0:呼叫成功但是沒有出現子程序

>0:成功退出的子程序的id

樣例:

system("d:\\game.exe");
system("mmc.exe \"c:\\windows\\system32\\gpedit.msc\"");

(2) winexec()

函式原型:

uint winapi winexec(

__in lpcstr lpcmdline,

__in uint ucmdshow);

引數說明:

lpcmdline,  // 命令路徑

ucmdshow,  // 顯示方式,共有11種,具體可以查閱msdn的showwindow函式

返回值:

成功,返回值大於31

返回0表示記憶體或者資源溢位

返回error_bad_format表示exe檔案非法或者已損壞。

返回error_file_not_found指定的檔案沒有找到。

返回error_path_not_found找不到指定路徑

樣例:winexec("notepad.exe", sw_show); // 開啟記事本

winexec("d:\\program files\\test\\test.exe",sw_showmaximized); // 以最大化的方式開啟test.exe(注意檔名的大小寫也必須完全一樣)

(3) shellexecute()

函式原型:   

hinstance shellexecute(

hwnd hwnd,   //父視窗控制代碼

lpctstr lpoperation, //操作, 開啟方式"edit","explore","open","find","print","null"

lpctstr lpfile,   //檔名,前面可加路徑

lpctstr lpparameters, //引數

lpctstr lpdirectory, //預設資料夾

int nshowcmd   //顯示方式

);用例: 

shellexecute(null,"open","c:\\test.txt",null,null,sw_shownormal); // 開啟c:\test.txt 檔案        

(4) createprocess()

函式原型:

lptstr lpcommandline, // 引數行

//下面兩個引數描述了所建立的程序和執行緒的安全屬性,如果為null則使用預設的安全屬性

lpsecurity_attributes lpprocessattributes, //程序安全屬性

lpsecurity_attributes lpthreadattributes, // 執行緒安全屬性

bool binherithandles, // 繼承標誌

dword dwcreationflags, // 建立標誌

lpvoid lpenvironment, // 環境變數

lpctstr lpcurrentdirectory, // 執行該程序的初始目錄

lpstartupinfo lpstartupinfo, // 用於在建立子程序時設定各種屬性

lpprocess_information lpprocessinformation //用於在程序建立後接受相關資訊

system(),主要用在dos環境下.

winexec(),簡單實用,方便開啟執行程序,但不能操作控制程序。

shellexecute(),增強了操作能力,但對程序的控制還是不夠用。

createprocess(),目前最強勁的程序函式,通過設定startupinfo結構體引數,來設定子程序的屬性,子程序建立後的資訊也儲存在processinformation結構體中,便於操作,功能強大,但引數過多.

VC 呼叫外部程式

有三種sdk函式可以呼叫,分別是 winexec,shellexecute,createprocess 其中以winexec最為簡單,主要是呼叫windows程式.shellexecute比winexec靈活一些,主要是呼叫dos程式。createprocess最為複雜但是使用最靈活。1.winex...

VC 呼叫外部可執行程式

方法一 winexec notepad.exe,sw show 方法二 shellexecute null,open notepad.exe null,null,sw showmaximized 方法三 startupinfo si zeromemory si,sizeof startupinfo ...

VC 呼叫外部可執行程式

方法一 winexec notepad.exe,sw show 方法二 shellexecute null,open notepad.exe null,null,sw showmaximized 方法三 startupinfo si zeromemory si,sizeof startupinfo ...