📄 oltools.h
字号:
#pragma once
#include "OutlookInterface.h"
#include "zip.h"
class COutlookButton : public IDispatch
{
public:
COutlookButton(CComPtr <Office::CommandBarControl> pButton);
virtual ~COutlookButton();
// IUnknown Implementation
virtual HRESULT __stdcall QueryInterface(REFIID riid, void ** ppv);
virtual ULONG __stdcall AddRef(void);
virtual ULONG __stdcall Release(void);
// Methods:
// IDispatch Implementation
virtual HRESULT __stdcall GetTypeInfoCount(UINT* pctinfo);
virtual HRESULT __stdcall GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo);
virtual HRESULT __stdcall GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId);
virtual HRESULT __stdcall Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr);
BOOL SetupConnection(IDispatch *pDisp);
void ShutDown();
DWORD m_dwCookie;
CComPtr <Office::CommandBarControl> m_pButton;
IConnectionPoint *m_pCP;
ULONG m_cRef;
};
class CAttachment
{
public:
CAttachment();
CAttachment(CComPtr<IAttach> &pAttachPtr,
ULONG ulMethod,
BOOL bIgnoreAttachPtr=FALSE,
CString csAttachPathName="",
CString csAttachLongPathName="");
~CAttachment();
void SetAttachNum(ULONG ulIndex) { m_ulIndex = ulIndex; };
ULONG GetAttachNum() { return m_ulIndex; };
HRESULT SaveToFile(CString &csPath);
ULONG GetAttachMethod() { return m_ulAttachMethod; };
CString GetPathName() { return m_csAttachPathName; };
CString GetLongPathName() { return m_csAttachLongPathName; };
HRESULT CreateAttachment(CComPtr<IMessage> &pMessagePtr);
protected:
CComPtr<IAttach> m_pAttachPtr;
ULONG m_ulAttachMethod;
CString m_csAttachPathName;
CString m_csAttachLongPathName;
ULONG m_ulIndex;
BOOL m_bNoAttachment;
};
class COLTools : public IExchExt,
IExchExtSessionEvents,
IExchExtMessageEvents
{
public:
COLTools(void);
~COLTools(void);
// IExchExt
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
STDMETHODIMP QueryInterface(REFIID riid,
void** ppvObj);
STDMETHODIMP Install(IExchExtCallback *lpExchangeCallback,
ULONG mcontext,
ULONG ulFlags);
// IExchExtSessionEvents
STDMETHODIMP OnDelivery(IExchExtCallback *lpExchangeCallback);
// IExchExtMessageEvents
STDMETHODIMP OnRead(IExchExtCallback *lpExchangeCallback);
STDMETHODIMP OnReadComplete(IExchExtCallback *lpExchangeCallback,
ULONG ulFlags);
STDMETHODIMP OnWrite(IExchExtCallback *lpExchangeCallback);
STDMETHODIMP OnWriteComplete(IExchExtCallback *lpExchangeCallback,
ULONG ulFlags);
STDMETHODIMP OnCheckNames(IExchExtCallback *lpExchangeCallback);
STDMETHODIMP OnCheckNamesComplete(IExchExtCallback *lpExchangeCallback,
ULONG ulFlags);
STDMETHODIMP OnSubmit(IExchExtCallback *lpExchangeCallback);
STDMETHODIMP_(VOID) OnSubmitComplete(IExchExtCallback *lpExchangeCallback,
ULONG ulFlags);
protected:
HRESULT GetOutlookApp(IExchExtCallback *pmecb,
Outlook::_ApplicationPtr &rOLAppPtr);
HRESULT InstallInterface(IExchExtCallback *lpExchangeCallback);
HRESULT AttachFile(LPMESSAGE pMessage, CString csFile);
HRESULT PackFile(CString &csFileName);
protected:
ULONG m_ulRefCount;
ULONG m_ulContext;
ULONG m_ulOutlookVersion;
BOOL m_bSubmittingMessage;
COutlookButton *m_pMyButton;
Outlook::_ApplicationPtr m_OLAppPtr;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -