빌더6에서는 안되더니,
빌더2007에서는 되네요.
COM 관련 인터페이스가 많이 업그레이드 된것 같군요.
빌더6에서 안되 , 델파이로 만들어 썼는데...
//---------------------------------------------------------------------------
#include <SHDocVw.hpp>
// 현재 떠 있는 IE의 URL을 모두 조사한다.
void FindIE_URL()
{
TShellWindows* ShellWin = new TShellWindows(NULL);
IWebBrowser2* IE;
try
{
for(int i = 0; i < ShellWin->Count; i++)
{
if (ShellWin->Item(i) == NULL)
continue;
ShellWin->Item(i)->QueryInterface(IID_IWebBrowser2, (void **)&IE);
if (IE == NULL)
continue;
if (IE->LocationURL.SubString(1, 7) != " http://")
continue;
Form4->Memo1->Lines->Add(IE->LocationURL);
}
}
__finally
{
delete ShellWin;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm4::Button3Click(TObject *Sender)
{
FindIE_URL();
}
//---------------------------------------------------------------------------
아주 간단하죠.
VC로 하면 훨 복잡한데...
빌더 2007... 좋군요..
IDE에 좀 버그가 보이긴 한데... 쓸만 합니다.
|