![]() |
|
|
![]()
|
|
| lemax |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 14.10.2007 Репутация: нет Всего: 1 |
Код работает корректно при не установленном броузере Maxthon. Функция
создает InternetExplorer и после
браузер отображается на экране. НО если в системе установлен Maxthon, то уже после вызова
браузер Maxthon отображается на экране. Вопрос: Почему открывается Maxthon сразу после вызова CoCreateInstance? |
||||||||
|
|||||||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Это внутренние дела Maxthon, когда и где ему отображаться. Физически он создается сразу после вызова CoCreateInstance (равно как и IE), дальше их поведение разное - IE считает, что по умолчанию себя показывать не надо, Maxthon считает наоборот.
|
|||
|
||||
| lemax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 14.10.2007 Репутация: нет Всего: 1 |
А как возможно создать настоящий IE , если в системе установлен Maxthon, и в реестре HKEY_CURRENT_USER\Software\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32 значение "C:\Program Files\Maxthon2\Maxthon.exe" 0002DF01-0000-0000-C000-000000000046 - это значение соответствует CLSID_InternetExplorer. |
|||
|
||||
| lemax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 14.10.2007 Репутация: нет Всего: 1 |
Я хотел решить эту проблему "мягко":
Это создать новый ключ реестра HKEY_CURRENT_USER\Software\Classes\CLSID\{Новый GUID}\LocalServer32 со значением "path_to/IEXPLORER.exe" Но тогда код не работает.
Чего здесь может не хватать (кроме моего незнания и не понимания) |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
GUID явно не валидный. Сгенери нормальный с помощью guidgen |
||||
|
|||||
| lemax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 14.10.2007 Репутация: нет Всего: 1 |
Ничего подобного. Результат один. Что в моем, что в вашем случае после вызова
Запускается iexplorer.exe и "зависает" все на минуту, после iexplorer вылетает с ошибкой и вызов CoCreateInstance на этом завершается с ошибкой "Server execution failed". |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Увы, значит вместе они не живут |
||||
|
|||||
| lemax |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 14.10.2007 Репутация: нет Всего: 1 |
Я решил проверить, и указать с новым GUID на Maxthon (вместо IE). Так вот Maxthon повел себя так же как и IE: 1) Запустился и стал работать (только, на этот раз, видимый). При этом вызов функции
2) По истечении времени (где то минута) Maxthon закрылся и функция CoCreateInstance завершилась с ошибкой "Server execution failed" и GetLastError()==1008 "An attempt was made to reference a token that does not exist." Это сообщение отредактировал(а) lemax - 7.12.2008, 12:23 |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |