以下是一個使用ShellExecute函數的示例代碼:
#include <windows.h>
int main()
{
// 打開一個網頁
ShellExecute(NULL, "open", "https://www.baidu.com", NULL, NULL, SW_SHOWNORMAL);
// 運行一個可執行文件
ShellExecute(NULL, "open", "C:\\Program Files\\Internet Explorer\\iexplore.exe", NULL, NULL, SW_SHOWNORMAL);
// 打開一個文件夾
ShellExecute(NULL, "open", "C:\\Windows\\System32", NULL, NULL, SW_SHOWNORMAL);
return 0;
}
上述代碼中使用了ShellExecute函數來執行不同的操作。第一個示例使用ShellExecute來打開一個網頁,第二個示例使用ShellExecute來運行一個可執行文件,第三個示例使用ShellExecute來打開一個文件夾。
ShellExecute函數的原型為:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
hwnd:可選參數,指定父窗口的句柄,如果不需要指定父窗口,則可將其設置為NULL。
lpOperation:指定要執行的操作,常見的取值有"open"、“print”、"edit"等,也可以設置為NULL。
lpFile:指定要執行的文件或者URL。
lpParameters:指定傳遞給要執行的應用程序的參數,如果不需要傳遞參數,則可將其設置為NULL。
lpDirectory:指定要執行的應用程序的初始目錄,如果不需要指定初始目錄,則可將其設置為NULL。
nShowCmd:指定打開的窗口如何顯示,常見的取值有SW_SHOWNORMAL、SW_SHOWMAXIMIZED、SW_HIDE等。
需要注意的是,ShellExecute函數返回一個HINSTANCE句柄,可以用于判斷操作是否成功。如果操作成功,返回值大于32;如果操作失敗,返回值是一個錯誤代碼。