利用IHTMLDocment2指针获取IE网页登录帐号密码 (二)

2014-11-24 08:53:12 · 作者: · 浏览: 1
result != NULL ){
HRESULT hr;
hr=pfObjectFromLresult(lRes,IID_IHTMLDocument,0,(void**)&spDoc);
if ( SUCCEEDED(hr) ){
CComPtr spDisp;
CComQIPtr spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &pDoc2 );
}
}

//因为WM_HTML_GETOBJECCT非Windows标准消息,得手动注册
UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );

LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );
if ( pfObjectFromLresult != NULL ){
HRESULT hr;
hr=pfObjectFromLresult(lRes,IID_IHTMLDocument,0,(void**)&spDoc);
if ( SUCCEEDED(hr) ){
CComPtr spDisp;
CComQIPtr spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &pDoc2 );
}
}
}[cpp] view plaincopyprint ::FreeLibrary(hInst);

return pDoc2;
}

::FreeLibrary(hInst);

return pDoc2;
} 接下来就是根据鼠标点击位置判断是否单击登录了

[cpp]
BOOL CGetIhtmlDlg::CheckSubmit(IHTMLDocument2* pDoc2,POINT pt)
{
if(pDoc2==NULL)return FALSE;
CComPtr pElement;
HRESULT hr=pDoc2->elementFromPoint(pt.x,pt.y,&pElement);
if(SUCCEEDED(hr))
{

BOOL CGetIhtmlDlg::CheckSubmit(IHTMLDocument2* pDoc2,POINT pt)
{
if(pDoc2==NULL)return FALSE;
CComPtr pElement;
HRESULT hr=pDoc2->elementFromPoint(pt.x,pt.y,&pElement);
if(SUCCEEDED(hr))
{ [cpp] view plaincopyprint //HTML中登录按钮有两种方式