|
바로 아래에 CppWebBrowser화면을 캡쳐하는방법에 대해 질문을 올렸었는데요...
그건 해결했습니다.
아래와같이...
void __fastcall TForm1::Button3Click(TObject *Sender)
{
HRESULT hr;
IViewObject *ViewObject;
hr=CppWebBrowser1->Document->QueryInterface(IID_IViewObject,(void **)&ViewObject);
// hr=CppWebBrowser1->DefaultDispatch->QueryInterface(IID_IViewObject,(void **)&ViewObject);
if (SUCCEEDED(hr))
{
TRect rc=Rect(0,0,CppWebBrowser1->Width, CppWebBrowser1->Height);
Image1->Picture->Bitmap->Width=CppWebBrowser1->Width ;
Image1->Picture->Bitmap->Height=CppWebBrowser1->Height;
OleCheck(ViewObject->Draw(DVASPECT_CONTENT, 1, NULL, NULL, Form1->Handle, Image1->Picture->Bitmap->Canvas->Handle,(const _RECTL *)&rc, NULL,NULL, 0));
Image1->Repaint();
}
}
그런데 여기서 정말 알고싶은게 하나더 있습니다.
WebBrowser가 *.ppt 나 *.xls , *.pdf등의 문서를 열어볼때..
해당문서 프로그램이떠서 WebBroswer안에서 보이는경우에
WebBroswer가 OLEContainer처럼 동작하는데...
이때 word나 Excel 등의 화면을 캡쳐하는 방법을 알고싶습니다.
비슷한 방법으로 가능할것 같은데....
WebBrowser안에 올라온 OLE오브젝트의 IViewObject 인테페이스만 알수있으면 될것 같은데...
무슨방법 없을가요?
감사합니다.
|