发布时间:2025-12-11 02:09:50 浏览次数:2
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;}