HOWTO: Connecting to a Running Instance of Internet Explorer


1. project에 이 화일들을 import 시킴니다.

#import <mshtml.dll> // Internet Explorer 4.0x
#import <mshtml.tlb> // Internet Explorer 5
#import <shdocvw.dll>


2. 클래스 내 함수든지 아님 헤더파일 선언에서 멤버 변수로 하던지
   해보세요!
    SHDocVw::IShellWindowsPtr m_spSHWinds;

3. ShellWindows의 object를 생성합니다.
   이렇게요....
   m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows));

4. 마지막으로 원하시는 데로  변경 시키면 됩니다.
   저는 이렇게 변경해서 아주 유용하게 썼습니다.

   // 현재 떠 있는 익스플로러의 숫자
   long nCount = m_spSHWinds->GetCount();
    
   IDispatchPtr spDisp;

   for (long i = 0; i <nCount; i++)
   {
      _variant_t va(i, VT_I4);
      spDisp = m_spSHWinds->Item(va);

      SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
      if (spBrowser != NULL)
      {
        // 얻어온 익스플로러의 url    
        _bstr_t bszLocationName = spBrowser->GetLocationURL();
        // 원하시는 대로 출력하시고요...
    
        중략

         MSHTML::IHTMLDocument2Ptr spDoc(spBrowser->GetDocument());
         if (spDoc != NULL)
         {
            // 익스플로러의 html의 타이틀 얻어옴!
             _bstr_t bszTitle = spDoc->Gettitle();

     }
      }
   }

'KB > MFC/Win32' 카테고리의 다른 글

확장자로 실행파일 찾기  (0) 2004.04.28
[DB] 트리거 사용  (0) 2004.04.28
[펌] 실행파일 숨기기  (0) 2004.04.28
CSliderCtrl을 DoModal 다이얼로그에 붙일때  (0) 2004.04.28
[winsock] 소켓 타임 아웃 주기  (0) 2004.04.28

+ Recent posts