用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

87 lines
2.4 KiB

#pragma once
#include "core/SWnd.h"
#include "activex/flash10t.tlh"
#include <mshtmhst.h>
namespace SOUI
{
class SOUI_EXP SActiveX : public SWindow
{
friend class SAxContainerImpl;
public:
SOUI_CLASS_NAME(SActiveX, L"activex")
explicit SActiveX();
virtual ~SActiveX();
IUnknown * GetIUnknown();
protected:
virtual void OnAxActivate(IUnknown *pUnknwn){}
int OnCreate(LPVOID);
void OnSize(UINT nType, CSize size);
void OnPaint(IRenderTarget *pRT);
LRESULT OnMouseEvent(UINT uMsg,WPARAM wp,LPARAM lp);
LRESULT OnKeyEvent(UINT uMsg,WPARAM wp,LPARAM lp);
void OnShowWindow(BOOL bShow, UINT nStatus);
virtual UINT OnGetDlgCode(){return SC_WANTALLKEYS;}
virtual BOOL IsFocusable(){return TRUE;}
HRESULT OnAttrClsid(const SStringW & strValue,BOOL bLoading);
SOUI_MSG_MAP_BEGIN()
MSG_WM_PAINT_EX(OnPaint)
MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST,WM_MOUSELAST,OnMouseEvent)
MESSAGE_RANGE_HANDLER_EX(WM_KEYFIRST,WM_KEYLAST,OnKeyEvent)
MSG_WM_CREATE(OnCreate)
MSG_WM_SIZE(OnSize)
MSG_WM_SHOWWINDOW(OnShowWindow)
SOUI_MSG_MAP_END()
SOUI_ATTRS_BEGIN()
ATTR_CUSTOM(L"clsID",OnAttrClsid)
ATTR_DWORD(L"clsCtx",m_clsCtx,FALSE)
ATTR_UINT(L"delay",m_bDelayInit,FALSE)
SOUI_ATTRS_END()
virtual void OnInitActiveXFinished(){}
BOOL InitActiveX();
void SetActiveXVisible(BOOL bVisible);
void SetExternalUIHandler(IDocHostUIHandler *pUiHandler);
protected:
SAxContainerImpl * m_axContainer;
CLSID m_clsid;
DWORD m_clsCtx;
BOOL m_bDelayInit;
};
class SOUI_EXP SFlashCtrl : public SActiveX
{
public:
SOUI_CLASS_NAME(SFlashCtrl, L"flash")
SFlashCtrl();
ShockwaveFlashObjects::IShockwaveFlash* GetFlashInterface() const
{
return flash_;
}
BOOL Play(LPCWSTR pszUrl);
protected:
virtual void OnAxActivate(IUnknown *pUnknwn);
HRESULT OnAttrUrl(const SStringW & strValue,BOOL bLoading);
SOUI_ATTRS_BEGIN()
ATTR_CUSTOM(L"url",OnAttrUrl)
SOUI_ATTRS_END()
SStringW m_strUrl;
SComQIPtr<ShockwaveFlashObjects::IShockwaveFlash> flash_;
};
}