📄 text1.txt
字号:
//add history list
LPDISPATCH pDisp = NULL;
IHTMLDocument2 *pHTMLDoc = NULL;
IHTMLWindow2 *pHTMLWnd = NULL;
IOmHistory *pHistory = NULL;
short p = m_nCurHistory;
IPersistMoniker *pPM = NULL;
IMoniker * pMok = NULL;
try{
//get history length
pDisp = GetHtmlDocument();
if( pDisp )
{
if (SUCCEEDED(pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDoc)))
{
if(SUCCEEDED(pHTMLDoc->get_parentWindow( &pHTMLWnd )))
{
if(SUCCEEDED(pHTMLWnd->get_history( &pHistory )))
{
//
DWORD d;
pHTMLDoc->QueryInterface(IID_IPersistMoniker, (void**)&pPM);
pPM->GetCurMoniker(&pMok);
pMok->Hash(&d);
FILE * file;
file = fopen("c:\\moniker.txt", "a");
fprintf(file, "%s %d\r\n", lpszText, d);
fclose(file);
//
pHistory->get_length(&p);
if(p>0 && p!=m_nHistoryLength)
{
if(p>m_nHistoryLength)
m_astrHistory.SetAtGrow(p-1, m_strLastTitle);
else
{
m_astrHistory.SetAt(p-1, m_strLastTitle);
m_astrHistory.SetSize(p);
if(m_nHistoryLength - p >30)
m_astrHistory.FreeExtra();
}
m_nCurHistory = p;
}
m_nHistoryLength = p;
}
}
}
}
}
catch(...)
{
}
try{
if(pHistory != NULL)
pHistory->Release();
if(pHTMLWnd != NULL)
pHTMLWnd->Release();
if(pHTMLDoc != NULL)
pHTMLDoc->Release();
if(pDisp != NULL)
pDisp->Release();
}
catch(...)
{
}
///
CMyIEView * pvw = NULL;
CChildFrame* tcf = (CChildFrame*)MDIGetActive();
if (tcf!=NULL)
pvw = (CMyIEView*)tcf->m_pView;
if(pvw == NULL)
return;
IServiceProvider *pSP = NULL;
IHlinkFrame *pHlinkFrame = NULL;
IHlinkBrowseContext *pHlinkbc = NULL;
LPDISPATCH pDisp = NULL;
//try{
pDisp = pvw->GetHtmlDocument();
if( pDisp )
{
if (SUCCEEDED(pDisp->QueryInterface(IID_IServiceProvider, (void**)&pSP)))
{ AfxMessageBox("aa");
if (SUCCEEDED(pSP->QueryService(SID_SHlinkFrame, IID_IHlinkFrame,(void**)&pHlinkFrame)))
{
if (SUCCEEDED(pHlinkFrame->GetBrowseContext(&pHlinkbc)))
{
AfxMessageBox("bb");
CMenu pPopup;
IHlink *pCurHlink = NULL;
IEnumHLITEM *pEnum = NULL;
HLITEM *pItem = NULL;
if(pHlinkbc==NULL)
AfxMessageBox("dd");
pHlinkbc->GetHlink(HLID_CURRENT, &pCurHlink);
pHlinkbc->EnumNavigationStack(0, HLFNAMEF_DEFAULT, &pEnum);
{
pPopup.CreatePopupMenu();
int i=0;
while(SUCCEEDED(pEnum->Next(1, pItem, NULL)))
{
AppendMenuW(pPopup.m_hMenu, MF_STRING, 0x1200 + i, pItem->pwzFriendlyName);
}
pPopup.TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, rect.left, rect.top + 1, AfxGetMainWnd());
pPopup.DestroyMenu();
}
try{
if(pCurHlink!=NULL)
pCurHlink->Release();
if(pEnum!=NULL)
pEnum->Release();
}
catch(...)
{
}
}
}
}
}
// }catch(...)
// {
// }
try{
if(pHlinkbc!=NULL)
pHlinkbc->Release();
if(pHlinkFrame!=NULL)
pHlinkFrame->Release();
if(pSP!=NULL)
pSP->Release();
if(pDisp!=NULL)
pDisp->Release();
}
catch(...)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -