우선 IWebBrowser2를 선언. 그 외 변수들 선언
IWebBrowser2* pWebBrowser = NULL;
BSTR bstrURL = NULL;
BSTR bstrHeader = NULL;
VARIANT vtPostData = {0};
VARIANT vtEmpty;
VARIANT vtHeader;
bstrURL하고, bstrHeader는 필요한 값으로 채우고...(Navigate 할 때 필요)
그 다음 생성.
hr = ::CoCreateInstance( __uuidof(InternetExplorer), NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
__uuidof(IWebBrowser2), reinterpret_cast<LPVOID *>(&pWebBrowser) );
띄울 웹 브라우저의 크기를 설정
pWebBrowser->put_Left(200);
pWebBrowser->put_Top(300);
pWebBrowser->put_Width(578);
pWebBrowser->put_Height(298);
다른 값들도 설정 혹은 디폴트로 놓고 사용.
VariantInit( &vtEmpty );
VariantInit( &vtPostData );
VariantInit( &vtHeader );
V_VT( &vtHeader ) = VT_BSTR;
V_BSTR( &vtHeader ) = bstrHeader;
그 다음 브라우저에서 필요없는 것들 삭제.
pWebBrowser->put_ToolBar(VARIANT_FALSE); // 익스플로어 툴바 없앰
pWebBrowser->put_MenuBar(VARIANT_FALSE); // 메뉴바 없앰
pWebBrowser->put_AddressBar(VARIANT_FALSE); // 주소창 없앰
pWebBrowser->put_StatusBar(VARIANT_FALSE); // 상태바 없앰
pWebBrowser->put_Resizable(VARIANT_FALSE); //리사이즈 불가
pWebBrowser->put_Visible ( (VARIANT_BOOL) TRUE );
이렇게 하고 Navigate
hr = pWebBrowser->Navigate( bstrURL, &vtEmpty, &vtEmpty, &vtPostData, &vtHeader );
위 처럼 하면 툴바도 없고, 메뉴바도 없고, 주소창도 없고, 상태바도 없고, 리사이즈도 않되는 브라우저가 뜬다.
마지막으로...
HWND hIE;
hr=pWebBrowser->get_HWND((long *)&hIE);
::SetWindowPos(hIE, HWND_TOPMOST, 0, 0,0 ,0 , SWP_NOMOVE | SWP_NOSIZE);
위 코드는 방금 전에 띄운 브라우저를 최상단에 띄우게 하는 코드이다.
댓글 없음:
댓글 쓰기