IAttachmentExecute::Execute 方法 (shobjidl_core.h)

对附件执行操作。

语法

HRESULT Execute(
  [in]            HWND    hwnd,
  [in, optional]  LPCWSTR pszVerb,
  [out, optional] HANDLE  *phProcess
);

参数

[in] hwnd

类型:HWND

父窗口的句柄。

[in, optional] pszVerb

类型: LPCWSTR

指向以 null 结尾的字符串的指针,该字符串包含指定要对文件执行的操作的谓词。 有关有效字符串,请参阅 ShellExecute 中的 lpOperation 参数。 此值可以为 NULL

[out, optional] phProcess

类型: HANDLE*

指向源进程的句柄的指针,用于同步操作。 此值可以为 NULL

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

在调用 IAttachmentExecute::Execute 之前,必须使用有效的本地路径调用 IAttachmentExecute::SetLocalPath ,并且必须将文件复制到该位置。

如果指示了提示,则 IAttachmentExecute::Execute 使用 ATTACHMENT_ACTION_EXEC 值调用 IAttachmentExecute::P rompt

IAttachmentExecute::Execute 可能会运行病毒扫描程序或其他信任服务来验证文件,然后再执行文件。 请注意,这些服务可以删除或更改文件。

IAttachmentExecute::Execute 可能会将 证据 附加到其 NTFS 备用数据流 (ADS) 的本地路径。

如果 phProcess 不为 NULL则 IAttachmentExecute::Execute 将作为同步进程运行,并返回 HPROCESS(如果可用)。 如果 phProcessNULL则 IAttachmentExecute::Execute 将作为异步进程运行。 这意味着调用应用程序具有消息泵和长生存期窗口。

如果在方法返回时 phProcess 指向的句柄非 NULL ,则调用应用程序负责调用 CloseHandle 以在不再需要句柄时释放该句柄。

要求

要求
最低受支持的客户端 具有 SP2 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shdocvw.dll (版本 6.0 或更高版本)