Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

Как сделать так, чтобы страничка открывалась в новом окне ИЕ,   Найти похожие ветки 

 
Кен ©   (2003-07-25 01:49) [0]

а не в уже открытом ?
Открываю страничку ИЕ командой
ShellExecute(0, nil, " http://ya.ru", nil, nil, SW_SHOWNORMAL);
И почему то страничка грузится не в новом окне ИЕ, а в одном из уже открытых.


 
Ihor Osov'yak ©   (2003-07-25 01:57) [1]


...
uses SHDocVw,
...

var
iWB: IWebBrowser2;
ov: OleVariant;
...
iWB := CreateOleObject("InternetExplorer.Application.1") as IWebBrowser2;
if not assigned(iWB) then exit;

iWB.Set_Visible(TRUE);

ov:="www.microsoft.com";
iWB.Navigate2(ov,emptyparam,emptyparam,emptyparam,emptyparam);


Зы - не забудь CoInitialize, если оно нигде не делалось..


 
Кен ©   (2003-07-25 02:16) [2]

> Ihor Osov"yak © (25.07.03 01:57)
> Зы - не забудь CoInitialize, если оно нигде не делалось..

Не делалось. А как его не забыть ?

Вообще ужас какой то. Вместо одной короткой строчки, пол страницы кода. Нельзя ли как нибудь это попроще всё ?


 
Ihor Osov'yak ©   (2003-07-25 02:59) [3]

> Не делалось. А как его не забыть ?

Лишний вызов - не помеха. Лишь бы не забыть сделать парный CoUninitialize, проще всего в секции инициализации, деинициализации какого-то модуля:

initialization
CoInitialize(nil);
finalization
CoUninitialize;

Зачем это? Чтобы COM нормально работал. некоторые делфийские модули это уже делают, так что вполне вероятео, что ты раньше не делал этого при работе с ком. Нужно ли сейчас - не знаю. Но лишняя пара вызовов помехой не будет. Если же до вызова CreateOleObject не будет сделано CoUninitialize - получишь ошибку времени исполнения..

> Вообще ужас какой то. Вместо одной короткой строчки, пол страницы кода.

И это пол-страницы кода? Наивный молодой человек..
Ну а с приводу ужаса - найди решение коротше. Я думаю, оно есть. Можешь поискать в паправлении командных ключей IE и юзать далее CreateProcess..
Я лишь дал то решение, которое было под рукой.. И основная цнль там была не запуск отдельной инстанции IE (что оно и делает), а получение в руки
IWebBrowser2. Но тебе действительно может оптимальнее CreateProcess + ключи командной строки IE..



 
Бархатный   (2003-07-25 06:51) [4]


> Кен © (25.07.03 01:49)
> а не в уже открытом ?
> Открываю страничку ИЕ командой
> ShellExecute(0, nil, " http://ya.ru", nil, nil, SW_SHOWNORMAL);
> И почему то страничка грузится не в новом окне ИЕ, а в одном
> из уже открытых.


Попробуй WinExec"ом. У меня тоже такая проблема была, кажись WinExec"ом решил.


 
Suntechnic ©   (2003-07-25 07:38) [5]

>Кен ©
Выбирай
1)
uses URLMon;
HlinkNavigateString(nil, " http://ya.ru");

2)
ShellExecute(0,"open","IExplore.exe","-new http://ya.ru",nil,SW_SHOWNORMAL);



Страницы: 1 вся ветка

Текущий архив: 2003.08.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-33062
Vovchik_A
2003-07-18 15:52
2003.08.11
no permission...


14-33370
dmtr
2003-07-25 18:17
2003.08.11
Windows 2000 Advanced Server и 3GB физической памяти


1-33152
w01f
2003-07-28 12:04
2003.08.11
Запись в Local_Machine


14-33276
race1
2003-07-23 16:19
2003.08.11
Partition Magic 8 trouble


4-33398
IKvasnitsky
2003-06-10 11:41
2003.08.11
Вопрос о функции AdjustTokenPriveleges