指定一个枚举类型,定义与IShellFolder::EnumObjects方法一起使用的标志。
SHELLEXECUTEINFO结构包含ShellExecuteEx功能使用的信息。
typedef struct _SHELLEXECUTEINFO { 是//
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpFile;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
//可选成员
LPVOID lpIDList;
LPCSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFO, FAR *LPSHELLEXECUTEINFO;
会员
CBSIZE
指定结构的大小(以字节为单位)。
fMask
这是一组标志,表示其他结构成员的内容和有效性。您可以指定以下值的组合:
值 | 含义 |
SEE_MASK_CLASSKEY | 使用hkeyClass成员给出的类密钥。 |
SEE_MASK_CLASSNAME | 使用lpClass成员给出的类名。 |
SEE_MASK_CONNECTNETDRV | lpFile成员是网络上文件的通用命名约定(UNC)路径。验证共享并连接到驱动器号。 |
SEE_MASK_DOENVSUBST | 展开由lpDirectory或lpFile成员给出的字符串中指定的任何环境变量。 |
SEE_MASK_FLAG_DDEWAIT | 如果ShellExecuteEx功能导致启动DDE对话,请等待DDE会话终止,然后再返回。 |
SEE_MASK_FLAG_NO_UI | 如果发生错误,请不要显示错误消息框。 |
SEE_MASK_HOTKEY | 使用dwHotKey成员给出的热键。 |
SEE_MASK_ICON | 使用惠康成员给出的图标。 |
SEE_MASK_IDLIST | 使用lpIDList成员给出的项目标识符列表。 |
SEE_MASK_INVOKEIDLIST | 使用lpIDList成员给出的项目标识符列表来调用应用程序。如果此成员为NULL,该函数将创建一个项目标识符列表并调用该应用程序。SEE_MASK_INVOKEIDLIST覆盖SEE_MASK_IDLIST。 |
SEE_MASK_NOCLOSEPROCESS | 在ShellExecuteEx函数退出后,请保持该进程运行。hProcess成员收到进程的句柄。 |
HWND
处理系统在执行此函数时可能产生的任何消息框的父窗口(例如,用于错误报告)。
lpVerb
指向指定动词名称的字符串的指针。该动词指定应用程序执行的操作。如果没有指定动词,则该成员默认为“打开”。
lpFile
指向指定要打开或打印的文件名称的以null结尾的字符串列表的指针。该函数可以打开可执行文件或文档文件。该函数可以打印文档文件。如果路径未包含在名称中,则假定当前目录。
lpParameters
指向包含应用程序参数的以null结尾的字符串。参数必须用空格分隔。要包含双引号,您必须将标记括在双引号中,如以下示例所示:
sei.lpParameters = "An example: \"\"\"quoted text\"\"\"";
在这种情况下,应用程序接收三个参数:An,example :,和“quoted text”。
如果lpFile指定文档文件,则lpParameters应为NULL。
lpDirectory
指向指定工作目录名称的以空值终止的字符串的指针。如果未指定此成员,则将当前目录用作工作目录。
n显示
显示标志可以是为ShowWindow功能描述的SW_值之一。如果lpFile指定可执行文件,n显示指定应用程序打开时的显示方式。如果lpFile指定文档文件,则n显示应为零。
hInstApp
处理已启动的应用程序的实例,如果应用程序无法启动,则处理错误值。(此句柄也可以是动态数据交换[DDE]服务器应用程序的句柄。)此成员设置为返回。错误值可以是以下之一:
值 | 含义 |
SE_ERR_FNF | 文件未找到 |
SE_ERR_PNF | 路径未找到 |
SE_ERR_ACCESSDENIED | 拒绝访问 |
SE_ERR_OOM | 内存不足 |
SE_ERR_DLLNOTFOUND | 未找到动态链接库 |
SE_ERR_SHARE | 无法共享打开的文件 |
SE_ERR_ASSOCINCOMPLETE | 文件关联信息不完整 |
SE_ERR_DDETIMEOUT | DDE操作超时 |
SE_ERR_DDEFAIL | DDE操作失败 |
SE_ERR_DDEBUSY | DDE操作忙 |
SE_ERR_NOASSOC | 文件关联不可用 |
lpIDList
指向ITEMIDLIST结构的指针,其中包含唯一标识要执行的文件的项目标识符列表。如果fMask未设置为SEE_MASK_IDLIST,则会被忽略。
lpClass
指向指定文件类名称或全局唯一标识符(GUID)的以空值终止的字符串的指针。如果fMask未设置为SEE_MASK_CLASSNAME,则会被忽略。
hkeyClass
处理文件类的注册表项。fMask未设置为SEE_MASK_CLASSKEY时被忽略。
dwHotKey
与应用程序关联的热键。低位字是虚拟键代码,高位字是修饰符标志(HOTKEYF_)。有关修饰符标志的列表,请参阅WM_SETHOTKEY消息的说明。如果fMask未设置为SEE_MASK_HOTKEY,则会被忽略。
惠康
处理文件类的图标。如果fMask未设置为SEE_MASK_ICON,则会被忽略。
hProcess
处理新开始的应用程序。该成员设置为返回,如果fMask未设置为SEE_MASK_NOCLOSEPROCESS,则始终为NULL。
也可以看看