Как по нажатию кнопки из диалогового окна запустить Internet Explorer и загрузить в него файл?
26.05.04 17:53: Перенесено модератором из 'C/C++' — Odi$$ey
Здравствуйте, stasets, Вы писали:
S>Как по нажатию кнопки из диалогового окна запустить Internet Explorer и загрузить в него файл?
Имхо, в WinAPI...
... << RSDN@Home 1.1.3 stable silent>>
Здравствуйте, stasets, Вы писали:
S>Как по нажатию кнопки из диалогового окна запустить Internet Explorer и загрузить в него файл?
ShellExecute( hwnd, "open" "
http://www.rsdn.ru", NULL, NULL, SW_SHOWDEFAULT );
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, stasets, Вы писали:
S>>Как по нажатию кнопки из диалогового окна запустить Internet Explorer и загрузить в него файл?
А>ShellExecute( hwnd, "open" "http://www.rsdn.ru", NULL, NULL, SW_SHOWDEFAULT );
запустится броузер по умолчанию, а это не всегда Internet Explorer/
Хотя может человеку это и нужно.
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, korzhik, Вы писали:
K>Здравствуйте, <Аноним>, Вы писали:
А>>Здравствуйте, stasets, Вы писали:
S>>>Как по нажатию кнопки из диалогового окна запустить Internet Explorer и загрузить в него файл?
А>>ShellExecute( hwnd, "open" "http://www.rsdn.ru", NULL, NULL, SW_SHOWDEFAULT );
K>запустится броузер по умолчанию, а это не всегда Internet Explorer/
K>Хотя может человеку это и нужно.
Ну, тогда можно так:
1. Запустить IE (ShellExecute или CreateProcess)
2. Найти запущенную копию(
вот такАвтор(ы): Тимофей Чадов
Дата: 14.03.2002
)
3. Получить IWebBroswer2 и делать что хочется, например, грузить файл.
Здравствуйте, Denis Titov, Вы писали:
K>>запустится броузер по умолчанию, а это не всегда Internet Explorer/
K>>Хотя может человеку это и нужно.
DT>Ну, тогда можно так:
DT>1. Запустить IE (ShellExecute или CreateProcess)
DT>2. Найти запущенную копию(вот такАвтор(ы): Тимофей Чадов
Дата: 14.03.2002
)
DT>3. Получить IWebBroswer2 и делать что хочется, например, грузить файл.
Тогда проще CoCreateInstance вызвать, только не забыть свойство Visible выставить, а то он невидимый останется. Например,
HRESULT hRes;
CComPtr<IWebBrowser2> spBrowser;
hRes = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER,
__uuidof(IWebBrowser2), (PVOID *)&spBrowser);
if (SUCCEEDED(hRes))
{
VARIANT var;
var.vt = VT_EMPTY;
spBrowser->Navigate(CComBSTR(L"http://www.rsdn.ru"), &var, &var, &var, &var);
spBrowser->put_Visible(VARIANT_TRUE);
}
Имея IWebBrowser2 можно всяких интересных вещей натворить: например, строку адреса и меню убрать, окно отпозиционировать в нужное место и т.п.
Здравствуйте, Alex Fedotov, Вы писали:
AF>Здравствуйте, Denis Titov, Вы писали:
K>>>запустится броузер по умолчанию, а это не всегда Internet Explorer/
K>>>Хотя может человеку это и нужно.
DT>>Ну, тогда можно так:
DT>>1. Запустить IE (ShellExecute или CreateProcess)
DT>>2. Найти запущенную копию(вот такАвтор(ы): Тимофей Чадов
Дата: 14.03.2002
)
DT>>3. Получить IWebBroswer2 и делать что хочется, например, грузить файл.
AF>Тогда проще CoCreateInstance вызвать, только не забыть свойство Visible выставить, а то он невидимый останется. Например,
AF>AF> HRESULT hRes;
AF> CComPtr<IWebBrowser2> spBrowser;
AF> hRes = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER,
AF> __uuidof(IWebBrowser2), (PVOID *)&spBrowser);
AF> if (SUCCEEDED(hRes))
AF> {
AF> VARIANT var;
AF> var.vt = VT_EMPTY;
AF> spBrowser->Navigate(CComBSTR(L"http://www.rsdn.ru"), &var, &var, &var, &var);
AF> spBrowser->put_Visible(VARIANT_TRUE);
AF> }
AF>
AF>Имея IWebBrowser2 можно всяких интересных вещей натворить: например, строку адреса и меню убрать, окно отпозиционировать в нужное место и т.п.
У меня CoCreateInstance возвращает E_INOINTERFACE. Подскажите..