这个IE是个聊天室,我想有什么办法能够读出上面的对话内容,比如人家写给我的文字.谢谢!!!
解决方案 »
- 在VC下制作一个录制全屏软件
- 诚心请教一个D3D使用思路问题
- 哪里有这样的按钮素材,能够提供按钮在Normal,经过和按下三种状态时的不同图片?
- 添加ODBC使用者类问题
- 新手提问:如何把键盘按键抛出消息对列?谢谢大家
- 刚装了个vc.net2003,发现里面有好多项目:请问下列项目有什么区别:.net;ATL;MFC;Win32;常规,谢谢!
- 怎样用MFC的类CStdioFile类的函数实现换行写文件?[急!!]
- 几个关于VC工具拦控制的问题?(高分,在线等待)急...!...
- 不应该问
- 如何改变组合框的宽度
- 在CWinThread派生的线程中使用CAsyncSocket,在关闭Socket的时候出错的问题。急!!!!在线等。。。
- 如何让Static透明显示,请高手赐教!!!
http://community.csdn.net/Expert/topic/4198/4198576.xml?temp=.3652155
#include <atlbase.h>
#include <oleacc.h>BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
TCHAR buf[100]; ::GetClassName( hwnd, (LPTSTR)&buf, 100 );
if ( _tcscmp( buf, _T("Internet Explorer_Server") ) == 0 )
{
*(HWND*)lParam = hwnd;
return FALSE;
}
else
return TRUE;
};
void CDlg::OnGetText(HWND hWnd)
{
CoInitialize( NULL ); // Explicitly load MSAA so we know if it's installed
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
if ( hInst != NULL )
{
if ( hWnd != NULL )
{
HWND hWndChild=NULL;
// Get 1st document window
::EnumChildWindows( hWnd, EnumChildProc, (LPARAM)&hWndChild );
if ( hWndChild )
{
CComPtr<IHTMLDocument2> spDoc;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWndChild, 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<IDispatch> spDisp;
CComQIPtr<IHTMLWindow2> spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document(&spDoc.p);
IHTMLElement* pBody;
hr = spDoc->get_body(&pBody);
if SUCCEEDED(hr))
{
BSTR bstrHTMLText;
hr = pBody->get_outerText(&bstrHTMLText);
//这个就是网页文本
CString strText= bstrHTMLText;
......
SysFreeString( bstrHTMLText);
pBody->Release();
} }
}
} // else document not ready
} // else Internet Explorer is not running
::FreeLibrary( hInst );
} // else Active Accessibility is not installed
CoUninitialize();
}