DLG主类.h声明
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
CExplorer1 m_SearchOnFlash;
void SetSearchKeyCode(LPTSTR lpstrKeyCode);
void DocumentCompleteSearchDialog(LPDISPATCH pDisp, VARIANT* URL);
CComQIPtr<IHTMLDocument2> m_pDoc;
DWORD m_dwCookie;
void OnHtmlClicked();
void OnHtmlSearchButtonClicked();
void GetHtmlTextValue(LPTSTR lpstrId, CString &csVaule);
void SetIESearchResult(CString csContent);
DLG主类init
EnableAutomation();
m_SearchOnFlash.SetParent(&m_newFlash);
::SetWindowPos(m_SearchOnFlash.m_hWnd, HWND_TOP,0,67,900,600,SWP_NOACTIVATE | SWP_NOZORDER);
m_SearchOnFlash.Navigate(csSearchPath, NULL, NULL, NULL, NULL);
::ShowWindow(m_SearchOnFlash.m_hWnd, SW_HIDE);
DLG主类CPP
BEGIN_EVENTSINK_MAP(Dlg, CDialog)
//{
{AFX_EVENTSINK_MAP(Dlg)
ON_EVENT(Dlg, IDC_SEARCH_ON_FLASH, 259, Dlg::DocumentCompleteSearchDialog, VTS_DISPATCH VTS_PVARIANT)
END_EVENTSINK_MAP()
BEGIN_INTERFACE_MAP(Dlg, CDialog)
INTERFACE_PART(Dlg,DIID_HTMLDocumentEvents,Dispatch)
END_INTERFACE_MAP()
BEGIN_DISPATCH_MAP(Dlg, CDialog)
DISP_FUNCTION_ID(Dlg,"onclick",DISPID_HTMLDOCUMENTEVENTS_ONCLICK,OnHtmlClicked,VT_EMPTY,VTS_NONE)
END_DISPATCH_MAP()
void Dlg::DocumentCompleteSearchDialog(LPDISPATCH pDisp, VARIANT* URL)
{
CComQIPtr<IDispatch> pTempDisp;
pTempDisp.Attach(m_SearchOnFlash.get_Document());
if (pTempDisp == NULL)
{
return;
}
CComQIPtr<IHTMLDocument2>pDoc = pTempDisp;
if (m_pDoc != NULL)
{
AfxConnectionUnadvise(m_pDoc, DIID_HTMLDocumentEvents,GetIDispatch(FALSE), FALSE, m_dwCookie);
}
m_pDoc = pDoc;
AfxC