В С++ Builder`е 5 на странице палитры Servers есть компонент CppInternetExplorer, который судя по всему служит для связи, управления и работы с InternetExplorer. Будьте добры, подскажите, кто знает, какой метод этого компонента сможет заставить перейти InternetExplorer на сайт, скажем
http://www.rsdn.ru/ ? И если не трудно, то не могли бы вы дать не просто название метода, а то какие у него параметры и как их заполнять. А то я все эксперементировал с методом Navigate, но что-то у меня ничего не получилось...
Заранее благодарен.
Здравствуйте, aleckstein, Вы писали:
A>В С++ Builder`е 5 на странице палитры Servers есть компонент CppInternetExplorer, который судя по всему служит для связи, управления и работы с InternetExplorer. Будьте добры, подскажите, кто знает, какой метод этого компонента сможет заставить перейти InternetExplorer на сайт, скажем http://www.rsdn.ru/ ? И если не трудно, то не могли бы вы дать не просто название метода, а то какие у него параметры и как их заполнять. А то я все эксперементировал с методом Navigate, но что-то у меня ничего не получилось...
А что не получалось?
CppWebBrowser1->Navigate(L"http://www.rsdn.ru/");
TVariant noHistory = 2;
TVariant headers = "My-Header: test";
TVariant empty;
CppWebBrowser1->Navigate(L"http://www.rsdn.ru/",noHistory,empty,empty,headers);
Здравствуйте, aleckstein, Вы писали:
A>В С++ Builder`е 5 на странице палитры Servers есть компонент CppInternetExplorer, который судя по всему служит для связи, управления и работы с InternetExplorer. Будьте добры, подскажите, кто знает, какой метод этого компонента сможет заставить перейти InternetExplorer на сайт, скажем http://www.rsdn.ru/ ? И если не трудно, то не могли бы вы дать не просто название метода, а то какие у него параметры и как их заполнять. А то я все эксперементировал с методом Navigate, но что-то у меня ничего не получилось...
A>Заранее благодарен.
Если надо просто реализвать в своей программе "гиперлинк" на страницу то использую:
ShellExecute( NULL, "open", "
www.rsdn.com", NULL, NULL, SW_MAXIMIZE );
(откроется новое окно IE и в нем
www.rsdn.com )
Если надо контроллировать уже существующий(щие) IE то вешаю на форму TCppShellWindows
далее:
typedef std::map<HWND, TCppInternetExplorer*> TM_InternetExplorerMap;
TM_InternetExplorerMap InternetExplorerMap;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HRESULT hr;
HWND WHandle = NULL;
IDispatch *spDisp;
IWebBrowser2 *pWebBrowser; // тут надо обернуть его в TComInterface...по хорошему
int Count = CppShellWindows1->get_Count();
for( int i = 0; i < Count; i++ )
{
spDisp = ShellWindows->Item( TVAriant(i) );
if( SUCCEEDED( spDisp->QueryInterface( IID_IWebBrowser2, (void**)&pWebBrowser ) ) )
{
if( SUCCEEDED( pWebBrowser->get_HWND( (long*)&WHandle ) ) )
{
TCppInternetExplorer *IEWrapper = new TCppInternetExplorer( this );
IEWrapper->AutoConnect = false;
IEWrapper->ConnectKind = ckAttachToInterface;
IEWrapper->ConnectTo( pWebBrowser ); // присосались к одному из сущ. броузеров
InternetExplorerMap[ WHandle ] = IEWrapper;
IEWrapper->OnNewWindow2 = CppInternetExplorerNewWindow2;
}
}
}
После чего из контейнера MAP берем окно с итым хендлом, соответствующий этому хендлу интерфейс IWebBrowser2 и выполняем его метод Navigate...
Проблема одна, если реализовывать события...то у меня не корректно доходят аргументы...
например в CppInternetExplorerNewWindow2
так, что думаю сейчас, на сколько хорошо написан класс TCppInternetExplorer...а может у меня руки кривые?
Здравствуйте, Flamer, Вы писали:
F>Здравствуйте, aleckstein, Вы писали:
A>>В С++ Builder`е 5 на странице палитры Servers есть компонент CppInternetExplorer, который судя по всему служит для связи, управления и работы с InternetExplorer. Будьте добры, подскажите, кто знает, какой метод этого компонента сможет заставить перейти InternetExplorer на сайт, скажем http://www.rsdn.ru/ ? И если не трудно, то не могли бы вы дать не просто название метода, а то какие у него параметры и как их заполнять. А то я все эксперементировал с методом Navigate, но что-то у меня ничего не получилось...
F>А что не получалось?
F>F>CppWebBrowser1->Navigate(L"http://www.rsdn.ru/");
F> TVariant noHistory = 2;
F> TVariant headers = "My-Header: test";
F> TVariant empty;
F>CppWebBrowser1->Navigate(L"http://www.rsdn.ru/",noHistory,empty,empty,headers);
F>
зы TCppInternetExplorer != TCppWebBrowser