C 中呼叫其他應用程式的方法

2022-08-16 08:51:11 字數 2690 閱讀 9300

winexecshellexecutecreateprocesswinexec(

lpcstr lpcmdline, // 命令路徑

uint ucmdshow // 顯示方式

);使用方法如下:

winexec

("notepad.exe"

sw_show

// 開啟記事本

winexec

("d:program filestesttest.exe"

,sw_showmaximized

// 以最大化的方式開啟test.exe

需要注意的是若用 sw_showmaxmized 方式去載入乙個無最大化按鈕的程式,譬如neterm,calc 等等,就不會出現正常的 窗體,但是已經被加到任務列表裡了。

shellexecuteshellexecute(

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 檔案

shellexecute

(null

"open"

""null

null

sw_shownormal

// 開啟網頁www.google.com

shellexecute

(null

,"explore"

"d:c++"

,null

,null

,sw_shownormal

// 開啟目錄d:c++

shellexecute

(null

,"print"

,"c:test.txt"

,null

,null

sw_hide

// 列印檔案c:test.txt

shellexecute不支援定向輸出。

createprocess

使用方法如下:

process_information pi

;startupinfo si

;memset

(&si,0

,sizeof(si

));si.cb

=sizeof(si

);si

.wshowwindow

=sw_show;si

.dwflags

=startf_useshowwindow

;fret

=createprocess

("d:putty.exe"

,null

,null

,false

,null

,null

,null

,null

,&si

,&pi

);可以看出,通過上面的幾個不同的方法,都可以實現在應用程式中開啟其他應用程式的目的,其中有些方法可能會麻煩一點,所以就需要我們根據不同的目的去選擇最適合自己的方法去實現自己的目的!

關於三個sdk函式: winexec, shellexecute,createprocess 的其他注意事項:

1、定義標頭檔案<

shlobj.h

// 可替換為 windows.h

<

shellapi.h

>

c++中所表示的路徑要用 " "而不是平常所用的" ",所以以上三個函式表示路徑都為:

disk:directory...file name

winexec

("d:program filestesttest.exe"

,sw_showmaximized

);shellexecute

(null

,"open"

,"c:test.txt"

,null

,null

,sw_shownormal

);fret

=createprocess

("d:putty.exe"

,null

,null

,false

,null

,null

,null

,null

,&si

,&pi

);本文所有程式在 visual studio.net 2003 c++ 環境下編寫,編譯過程沒有錯誤。

測試環境:

windows xp home edition

visual studio.net 2003

Visual C 中呼叫其他應用程式的方法(函式)

本文所有程式在visual studio.net 2003 c 環境下編寫,編譯過程沒有錯誤。現在都使用visual studio 2005了。不知道還能編譯通過不 三個sdk函式winexec,shellexecute,createprocess實現呼叫其他程式的方法 visual c中呼叫其他應...

VS中c 控制台應用程式呼叫其他應用程式的方法

1,利用createprocess呼叫 include int run exe string str exe path,string str cmd path 其中 str exe path為exe的路徑,str cmd path為str exe path 呼叫引數 引數之間需用空格分開。2,利用w...

在應用程式中啟動其他程式的方法

1 uint winexec lpcstr lpcmdline,uint ucmdshow eg if winexec cdplayer.exe sw maximize 31 afxmessagebox 執行cd eg winexec winmine.exe sw shownormal winexe...