突破 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;
}