突破 IE 电子书 的右键禁止的限制,执行IE菜单命令的工具,另支持IE 注册windows消息 WM_HTML_GETOBJECT

该工具对于一些使用IE浏览器的电子书,禁止了右键,复制,查看源,能突破它的禁止,实现IE右键菜上的相关命令,以及WM_HTML_GETOBJECT。

下载地址:  http://download.csdn.net/source/1736314

下图是使用注册Windows消息 WM_HTML_GETOBJECT取得WEB 的IHTMLDOCMENT对像,并提取InnerTEXT的内容。

下图是执行菜单的ViewSource (查看源)命令

// -----------------------------------------------------------------

根据改成  http://www.vckbase.com/document/viewdoc/?id=288  delphi小工具的

IHTMLDocument2* GetDocInterface(HWND hWnd) 


{


// 我们需要显示地装载OLEACC.DLL,这样我们才知道有没有安装MSAA


HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );


IHTMLDocument2* pDoc2=NULL;


if ( hInst != NULL ){


if ( hWnd != NULL ){


CComPtr spDoc=NULL;


LRESULT lRes;


/*由于WM_HTML_GETOBJECT非Windows标准消息,所以需要RegisterWindowMessage*/


UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );


::SendMessageTimeout( hWnd,


nMsg,


0L,


0L,


SMTO_ABORTIFHUNG,


1000,


(DWORD*)&lRes );





/*取得ObjectFromLresult函数的地址*/


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 );


}


}


}


::FreeLibrary(hInst);


}


else{//如果没有安装MSAA


AfxMessageBox(_T("请您安装Microsoft Active Accessibility"));


}


return pDoc2;


}


posted @ 2009-10-12 20:58 jfyes 阅读(939) 评论(0) 编辑 收藏