温馨提示×

SHELLEXECUTEINFO 结构详解

小云
109
2023-09-12 09:09:45
栏目: 编程语言

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:指定调用方的应用程序实例句柄

0