ShellExecuteInfo是一个结构体,用于在Windows操作系统中执行外部程序或打开文件。它由以下几个主要成员组成:
-
cbSize:指定结构体的大小。
-
fMask:指定其他成员的有效性标志。
-
hwnd:指定调用ShellExecuteInfo的窗口句柄。
-
lpVerb:指定动作的字符串名称,如“open”、“print”等。
-
lpFile:指定要执行的文件名或要打开的文件。
-
lpParameters:指定要传递给应用程序的参数字符串。
-
lpDirectory:指定应用程序的工作目录。
-
nShow:指定应用程序窗口的显示方式。
-
hInstApp:保存函数调用后的应用程序实例句柄。
使用ShellExecuteInfo结构体有以下几个步骤:
-
初始化ShellExecuteInfo结构体的大小和fMask成员。
-
填充lpVerb、lpFile、lpParameters、lpDirectory、nShow等成员。
-
调用ShellExecuteEx函数,并传入ShellExecuteInfo结构体作为参数。
-
检查函数返回值,判断是否执行成功。
以下是一个示例代码:
#includeint 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打开指定网页。你可以根据自己的需求,填充不同的成员来执行不同的操作。