ShellExecute是Windows API中的一個函數,可以用于啟動外部程序。它的原型如下:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
以下是對函數參數的詳細介紹:
hwnd:指定父窗口的句柄。如果需要在父窗口中打開新程序的窗口,可以指定父窗口的句柄;如果不需要在父窗口中打開窗口,可以傳入NULL。
lpOperation:指定要執行的操作,可以是"open"、“print”、“edit"等。如果指定為"open”,則會啟動外部程序;如果指定為"print",則會打印文件;如果指定為"edit",則會編輯文件。如果不需要指定操作,可以傳入NULL。
lpFile:指定要啟動的外部程序的路徑。可以是絕對路徑,也可以是相對路徑。如果lpOperation參數為"open",則lpFile參數必須指定一個可執行文件;如果lpOperation參數為"print",則lpFile參數指定要打印的文件;如果lpOperation參數為"edit",則lpFile參數指定要編輯的文件。
lpParameters:指定要傳遞給外部程序的命令行參數。可以是一個字符串,多個參數之間用空格分隔。如果不需要傳遞參數,可以傳入NULL。
lpDirectory:指定外部程序的工作目錄。如果外部程序需要讀取或寫入文件,可以指定一個目錄路徑。如果不需要指定工作目錄,可以傳入NULL。
nShowCmd:指定窗口顯示的方式。可以是SW_SHOWNORMAL、SW_HIDE、SW_SHOWMAXIMIZED等常量。如果不需要指定顯示方式,可以傳入0。
函數的返回值為HINSTANCE類型,表示新啟動的程序的實例句柄。如果函數調用失敗,返回值為NULL。
通過ShellExecute函數,可以方便地啟動外部程序,并傳遞命令行參數、指定工作目錄等。