ShellExecuteInfo是一個結構體,用于在Windows操作系統中執行外部程序或打開文件。它由以下幾個主要成員組成:
cbSize:指定結構體的大小。
fMask:指定其他成員的有效性標志。
hwnd:指定調用ShellExecuteInfo的窗口句柄。
lpVerb:指定動作的字符串名稱,如“open”、“print”等。
lpFile:指定要執行的文件名或要打開的文件。
lpParameters:指定要傳遞給應用程序的參數字符串。
lpDirectory:指定應用程序的工作目錄。
nShow:指定應用程序窗口的顯示方式。
hInstApp:保存函數調用后的應用程序實例句柄。
使用ShellExecuteInfo結構體有以下幾個步驟:
初始化ShellExecuteInfo結構體的大小和fMask成員。
填充lpVerb、lpFile、lpParameters、lpDirectory、nShow等成員。
調用ShellExecuteEx函數,并傳入ShellExecuteInfo結構體作為參數。
檢查函數返回值,判斷是否執行成功。
以下是一個示例代碼:
#include <Windows.h>
int main()
{
SHELLEXECUTEINFO sei = { 0 };
sei.cbSize = sizeof(sei);
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
sei.lpVerb = L"open";
sei.lpFile = L"C:\\Program Files\\Internet Explorer\\iexplore.exe";
sei.lpParameters = L"https://www.google.com";
sei.nShow = SW_SHOW;
if (ShellExecuteEx(&sei))
{
WaitForSingleObject(sei.hProcess, INFINITE);
}
return 0;
}
以上示例代碼通過調用Internet Explorer打開指定網頁。你可以根據自己的需求,填充不同的成員來執行不同的操作。