- char str[128];
- GetClassName(hwnd,str,sizeof(str));//擷取類名
- if(strcmp(str,"Internet Explorer_Server")==0)
- {
- CoInitialize( NULL );
- HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
- CComPtr<IHTMLDocument2> spDoc;
- LRESULT lRes;
-
- UINT nMsg = RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
- SendMessageTimeout( hwnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );
-
- LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );//匯出ObjectFromLresult函數
- if ( pfObjectFromLresult != NULL )
- {
- HRESULT hr;
- hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument, 0, (void**)&spDoc );//擷取IHTMLDocument2
- if ( SUCCEEDED(hr) )
- {
- HGLOBAL hMemory;
- hMemory = GlobalAlloc(GMEM_MOVEABLE, 0);//分配一個全域記憶體塊
-
- if (spDoc != NULL)
- {
- CComPtr<IStream> spStream;
- CComQIPtr<IPersistStreamInit> spPersistStream = spDoc;
- if (SUCCEEDED(CreateStreamOnHGlobal(hMemory, TRUE, &spStream)))
- {
- spPersistStream->Save(spStream, FALSE);
- LPCTSTR pstr = (LPCTSTR) GlobalLock(hMemory);
- if (pstr != NULL)
- {
-
-
-
- CString refString (pstr);
-
- AfxMessageBox(refString);
-
- }
- GlobalUnlock(hMemory);
- }
- }
- }
- }
- ::FreeLibrary( hInst );
- CoUninitialize();
- }
#include <mshtml.h>
#include <afxhtml.h>
#include <atlbase.h>
#include <oleacc.h>
#include <MsHtmcid.h>
標頭檔