C++ ATL Outlook 插件不加载
C++ ATL Outlook plugin does not load
我使用 Visual Studio Community 2013 为 64 位版本的 Outlook 2013 制作了一个 Outlook 插件。我想在发送邮件时处理邮件中的附件。
即使 LoadBehavior=3
在注册表中,Outlook 也不会加载该插件,如果我尝试在 Outlook 中加载它,我什么也得不到。
于是就有了我的classCConnect
:
的header开头
class ATL_NO_VTABLE CConnect :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CConnect, &CLSID_Connect>,
public IDispatchImpl<IConnect, &IID_IConnect, &LIBID_PluginOutlookLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispatchImpl<_IDTExtensibility2, &__uuidof(_IDTExtensibility2), &LIBID_AddInDesignerObjects, /* wMajor = */ 1>,
public IDispEventSimpleImpl < 1, CConnect, &__uuidof(Outlook::ItemEvents) >
{
public:
CConnect()
{
};
void __stdcall OnSend(IDispatch * Item, bool Cancel);
BEGIN_SINK_MAP(CConnect)
SINK_ENTRY_INFO(1,__uuidof(Outlook::ItemEvents),0x0000F005,OnSend,&fiMailItemEvents)
END_SINK_MAP()
DECLARE_REGISTRY_RESOURCEID(IDR_CONNECT)
BEGIN_COM_MAP(CConnect)
COM_INTERFACE_ENTRY(IConnect)
COM_INTERFACE_ENTRY(_IDTExtensibility2)
END_COM_MAP()
插件注册表中有一个条目。
有人知道如何在 Outlook 中成功加载插件吗?
如果附件的大小大于 msize,我想用 SaveAsFile()
保存它并对其进行处理。
Attachment::SaveAsFile()
的参数是什么,我在文档中没有找到,有什么方法吗Attachment::size()
?
您是否正在尝试处理 Send or ItemSend 事件?
What are the arguments of Attachment::SaveAsFile() I didn't find them in the documentation and is there any method Attachment::size()?
参见 MSDN 中的 SaveAsFile 方法说明。
另外,您可能会发现附件 class 的 Size 属性 很有帮助。
我使用 Visual Studio Community 2013 为 64 位版本的 Outlook 2013 制作了一个 Outlook 插件。我想在发送邮件时处理邮件中的附件。
即使 LoadBehavior=3
在注册表中,Outlook 也不会加载该插件,如果我尝试在 Outlook 中加载它,我什么也得不到。
于是就有了我的classCConnect
:
class ATL_NO_VTABLE CConnect :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CConnect, &CLSID_Connect>,
public IDispatchImpl<IConnect, &IID_IConnect, &LIBID_PluginOutlookLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispatchImpl<_IDTExtensibility2, &__uuidof(_IDTExtensibility2), &LIBID_AddInDesignerObjects, /* wMajor = */ 1>,
public IDispEventSimpleImpl < 1, CConnect, &__uuidof(Outlook::ItemEvents) >
{
public:
CConnect()
{
};
void __stdcall OnSend(IDispatch * Item, bool Cancel);
BEGIN_SINK_MAP(CConnect)
SINK_ENTRY_INFO(1,__uuidof(Outlook::ItemEvents),0x0000F005,OnSend,&fiMailItemEvents)
END_SINK_MAP()
DECLARE_REGISTRY_RESOURCEID(IDR_CONNECT)
BEGIN_COM_MAP(CConnect)
COM_INTERFACE_ENTRY(IConnect)
COM_INTERFACE_ENTRY(_IDTExtensibility2)
END_COM_MAP()
插件注册表中有一个条目。
有人知道如何在 Outlook 中成功加载插件吗?
如果附件的大小大于 msize,我想用 SaveAsFile()
保存它并对其进行处理。
Attachment::SaveAsFile()
的参数是什么,我在文档中没有找到,有什么方法吗Attachment::size()
?
您是否正在尝试处理 Send or ItemSend 事件?
What are the arguments of Attachment::SaveAsFile() I didn't find them in the documentation and is there any method Attachment::size()?
参见 MSDN 中的 SaveAsFile 方法说明。
另外,您可能会发现附件 class 的 Size 属性 很有帮助。