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打开指定网页。你可以根据自己的需求,填充不同的成员来执行不同的操作。