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();
}
}
}
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 |