Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открытие ссылки в запущенном IE 
:(
    Опции темы
rogi08
Дата 18.2.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



Hi, all

Необходимо открыть IE несколько ссылок.

Вариант :  
1. CreateProcess \  ждём \ TerminateProcess 
не совсем подходит, потому что ссылок может быть много, а каждый раз запускать и бить IE не рационально, хотя надёжно.

Можно ли в уже запущенное приложение IE передать url, чтоб он перешёл по url?

Если да, то как.

Заранее спасибо
PM MAIL   Вверх
Dem_max
Дата 18.2.2009, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Непонятно что и как конечно, вот может быть так
Код

ShellExecute(hWnd, "open", "iexplore",  "http://www.google.ru", 0, SW_SHOW);
ShellExecute(hWnd, "open" , "iexplore" , "http://www.mail.ru", 0, SW_SHOW);



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
rogi08
Дата 18.2.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



ok,

Код

CreateProcess( NULL, "c:\\program files\\Internet Explorer\\IEXPLORE.EXE http://www.google.ru" , NULL,NULL, false, NORMAL_PRIORITY_CLASS, NULL,NULL, &start, &procInfo );
ShellExecute( (HWND)(procInfo.hProcess), "open", "iexplore",  "http://www.google.ru", 0, SW_SHOW);


всё равно запускает новый процесс, мне бы использовать уже запущенный.

Может HWND неверно подставляю?

Уточню задачу: обращаться к разным сайтам, при этом используя один и тот процесс IE, а не запускать для каждого сайта отдельный процесс.
PM MAIL   Вверх
Dem_max
Дата 18.2.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Из описания на него только такие параметры командной строки
Цитата

Запуск IE из командной строки с дополнительными параметрами позволяет открывать его в различных режимах. Параметры, если их несколько, указываются через пробел. Некоторые из этих параметров:

-nohome – запуск IE без открытия домашней страницы.
-new - новое окно IE будет открываться как отдельный процесс.
-k - запуск IE в режиме киоска (kiosk mode; полноэкранный режим IE c отсутствием каких-либо управляющих элементов). Управление IE в этом режиме осуществляется при помощи стандартных сочетаний клавиш, принятых для IE. Закрыть такое окно можно сочетанием клавиш Alt+F4 или Ctrl+W.
-e - запуск IE в режиме навигации – слева будет открыта панель Проводника Windows.
-channelband - Internet Explorer будет запущен в качестве специальной панели каналов на Рабочем столе текущего пользователя. Данная опция работает только при выключенном активном Рабочем столе (Active Desktop)

Также вы можете быть указать страницу, загрузку которой выполнит IE при запуске, например: "C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://www.windowsfaq.ru/



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
rogi08
Дата 18.2.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



всё верно,

но мне нужно не каждый раз создавать процесс и окно, а как-то передавать параметры в уже запущенное.

На крайняк: программно найти поле адреса, вбить ссылку и нажать enter, но это жесть.

Есть ли другие способы.
PM MAIL   Вверх
Dem_max
Дата 18.2.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



ну тогда если только добраться до строки ввода, вывести туда свой адрес и сэмулировать нажатие Enter
FindWindow+FindWindowEx


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
586
Дата 18.2.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(rogi08 @  18.2.2009,  12:59 Найти цитируемый пост)
На крайняк: программно найти поле адреса, вбить ссылку и нажать enter, но это жесть.

Это можно сделать через IWebBrowser2::Navigate - http://forum.vingrad.ru/index.php?showtopi...t&p=1539124
PM   Вверх
Dem_max
Дата 18.2.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



ну вот и код подсказали
Код

HANDLE HWnd = FindWindow("IEFrame", NULL); //windowHandle
HWnd = FindWindowEx(HWnd, 0, "Shell DocObject View", NULL);
HWnd = FindWindowEx(HWnd, 0, "Internet Explorer_Server", NULL);
SendMessage(HWnd, WM_COMMAND, 0x179a, 0);



--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
GremlinProg
Дата 18.2.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



586, правильно подсказывает, Navigate - более простое решение + от версии к версии ИЕ оно останется рабочим


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
rogi08
Дата 13.3.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 18.2.2009

Репутация: нет
Всего: нет



GremlinProg
586

Необходимо, чтобы ссылки открывалиcь от имени Intenet Explorer ( iexplore.exe )

Navigate, вроде не позволяет этого сделать, поэтому придётся искать окно и вбивать новый адрес программно.

Какие ещё есть варианты ?



PM MAIL   Вверх
586
Дата 13.3.2009, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(rogi08 @  13.3.2009,  11:03 Найти цитируемый пост)
Необходимо, чтобы ссылки открывалиcь от имени Intenet Explorer ( iexplore.exe )

так и будет.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1202 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.