新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

SHELLEXECUTEINFO 结构详解

发布时间:2023-09-13 08:07:12

SHELLEXECUTEINFO 结构详解

SHELLEXECUTEINFO 结构是 Windows API 中的一种结构类型,用于传递给 ShellExecuteEx 函数的参数。该结构包括了一组成员变量,用于指定要履行的操作的详细信息。

SHELLEXECUTEINFO 结构的成员变量以下:

1. dwSize:指定结构的大小,用于唆使当前结构的版本。

2. fMask:指定结构中哪些成员变量是有效的。可以是以下值的组合:

- SEE_MASK_CLASSKEY:hkeyClass 成员变量有效。

- SEE_MASK_CLASSNAME:lpClass 成员变量有效。

- SEE_MASK_CONNECTNETDRV:lpNetResource 成员变量有效。

- SEE_MASK_DOENVSUBST:lpFile 成员变量有效,并且将对文件名进行环境变量替换。

- SEE_MASK_FLAG_DDEWAIT:fMask 成员变量有效,将等待 DDE 完成。

- SEE_MASK_FLAG_NO_UI:fMask 成员变量有效,不显示任何用户界面。

- SEE_MASK_HOTKEY:hIcon 成员变量有效。

- SEE_MASK_ICON:hIcon 成员变量有效。

- SEE_MASK_IDLIST:lpIDList 成员变量有效。

- SEE_MASK_INVOKEIDLIST:lpIDList 成员变量有效。

- SEE_MASK_NOCLOSEPROCESS:hProcess 成员变量有效。

- SEE_MASK_NO_CONSOLE:fMask 成员变量有效,不显示命令行窗口。

- SEE_MASK_NOASYNC:fMask 成员变量有效,同步履行操作。

- SEE_MASK_NO_CONNECT_UI:fMask 成员变量有效,不显示连接用户界面。

- SEE_MASK_NOCURRENTDIR:fMask 成员变量有效,不使用当前目录。

- SEE_MASK_NODEFAULT:fMask 成员变量有效,不使用 ShellExecuteEx 默许值。

- SEE_MASK_NO_HOOKS:fMask 成员变量有效,不使用 ShellExecuteEx 钩子。

- SEE_MASK_NOQUERYCLASSSTORE:fMask 成员变量有效,不查询类存储。

- SEE_MASK_PLAYBACK:hProcess 成员变量有效。

- SEE_MASK_UNICODE:fMask 成员变量有效,使用 Unicode 字符集。

- SEE_MASK_WAITFORINPUTIDLE:fMask 成员变量有效,等待操作完成。

- SEE_MASK_WAITFORSTORAGEANCESTOR:fMask 成员变量有效,等待存储先人进程完成。

3. hwnd:指定要履行操作的窗口句柄。

4. lpVerb:指定要履行的操作。可以是以下值之一:

- "open":打开指定的文件。

- "print":打印指定的文件。

- "properties":显示指定的文件的属性对话框。

- "edit":使用默许编辑器打开指定的文件。

- "explore":打开资源管理器并选中指定的文件。

5. lpFile:指定要履行操作的文件名。

6. lpParameters:指定传递给履行程序的参数字符串。

7. lpDirectory:指定履行程序的工作目录。

8. nShow:指定窗口的显示方式。可以是以下值之一:

- SW_HIDE:隐藏窗口。

- SW_SHOWNORMAL:显示窗口,并激活。

- SW_SHOWMINIMIZED:最小化窗口,并激活。

- SW_SHOWMAXIMIZED:最大化窗口,并激活。

- SW_SHOWNOACTIVATE:显示窗口,但不激活。

- SW_SHOW:显示窗口,并激活。

- SW_MINIMIZE:最小化窗口。

- SW_SHOWMINNOACTIVE:最小化窗口,但不激活。

- SW_SHOWNA:显示窗口,但不激活。

- SW_RESTORE:还原窗口,并激活。

- SW_SHOWDEFAULT:根据窗口的显示状态,设置窗口的显示方式。

- SW_FORCEMINIMIZE:最小化窗口,不管窗口是否是可最小化。

9. hInstApp:指定调用方的利用程序实例句柄