C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[56018] 지푸라기 잡는 심정으로 [ObjectFromLresult]에 대한 질문입니다.
티앤티 [] 2524 읽음    2009-02-05 17:51
정말 오랜만에 볼포에 질문을 올리는 건데 또 이상한걸 들고나왓습니다.

현재 일반 App에서  외주 IE에 대한 정보를 취득하는 내용을 진행하고있습니다. 
관련 소스를 찾아보니    OLEACC.DLL의  ObjectFromLresult 함수를 이용해서  IHTMLDocument2  를 획득하여

IViewObject->Draw함수를 사용하여 대상 웹브라우저(인터넷 익스플로러 6.0)의 DC를 화일로 저장하려 했습니다.

IHTMLDocument2->Put_URL도 정상적으로 되고
IViewObject 인터페이스 획득이 리턴값이 정상적으로 처리되어 안심을 했는데
IViewObject->Draw(... 를 실행하면  -2147467259 (-0x7FFFBFFB)가 되돌아옵니다.
먼가 파라미터를 잘못 주었나해서 OleDraw(.. 를 호출해도 역시나 동일한 에러가 돌아왔습니다.
혹시나 해서    CppWebBrowser의 Document 를 사용했더니 정상적으로  이미지가 추출되었고
cppWebBrowser의 Handle를 사용해서   다시금 ObjectFromLresult  함수를 사용하여 IHTMLDocument2   인터페이스를 획득해서  이미지를 추출하니  여전히 2147467259 (-0x7FFFBFFB)가 되돌아옵니다

BHO등에서 IHTMLDocument2 를 획득한 경우와  ObjectFromLresult  를 통해  IHTMLDocument2를 획득한 경우 권한 차이라든가 먼가 다른 점이 있는지요?


//--------------------------------------------------------------------
include <Oleacc.h>
#pragma comment(lib, "Oleacc")

HRESULT hr;
IHTMLDocument2 *spDoc;  ;

UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( m_fHwnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 300, (DWORD*)&lRes );
hr = ObjectFromLresult( lRes, IID_IHTMLDocument2, 0, (void**)&spDoc );

if ( FAILIED(hr) )
{
     return;
}
.. 이미지 처리

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

+ -

관련 글 리스트
56018 지푸라기 잡는 심정으로 [ObjectFromLresult]에 대한 질문입니다. 티앤티 2524 2009/02/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.