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(如果可用)。 如果 phProcess 为 NULL, 则 IAttachmentExecute::Execute 将作为异步进程运行。 这意味着调用应用程序具有消息泵和长生存期窗口。
如果在方法返回时 phProcess 指向的句柄非 NULL ,则调用应用程序负责调用 CloseHandle 以在不再需要句柄时释放该句柄。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 具有 SP2 的 Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
DLL | Shdocvw.dll (版本 6.0 或更高版本) |