Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2009, 15:05   #1
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию ShellExecute перестала открывать ссылки

Раньше когда писал такой код нормально открывалась ссылка.

Код:
ShellExecute(Handle,'open', pChar('http://programmersforum.ru/'), NIL, NIL,SW_SHOWNORMAL);
Сейчас же ссылки не открываются.
В некоторых программах ошибки появляются.

Предположительно это началось после удаления MyIE.
Лазил в реестре, менял ключи разные - не помогло, мб менял не то..

Функция возвращает 31.

Как исправить проблему?
Armorer вне форума Ответить с цитированием
Старый 23.05.2009, 15:35   #2
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

SE_ERR_NOASSOC = 31 - There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable.(MSDN)
Это связано с тем, что не выставлен браузер по умолчанию, поэтому функция и возвращает ошибку, не знает чем открывать.
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 24.05.2009, 09:17   #3
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Фирефокс при проверке говорит что браузер по умолчанию.

в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients \StartMenuInternet = firefox.exe

HKEY_CLASSES_ROOT\htmlfile\shell\op en\command = "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"

файлы открываются нормально фирефоксом, как и должны. А вот функция никак не хочет работать=(
Armorer вне форума Ответить с цитированием
Старый 24.05.2009, 12:34   #4
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Раздел
HKEY_CLASSES_ROOT\htmlfile\shell\op en\command
относится только к запуску html файлов и можно сказать, что практически не относится к браузеру по умолчанию.
Раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Clients \StartMenuInternet
тем более никак, в нём настраивается какой браузер будет отображаться в меню пуск.

HKEY_CLASSES_ROOT\http\shell\open\c ommand
Этот раздел отвечает за то каким приложением будут открываться ссылки, можно сказать это и есть браузер по умолчанию, что у вас в нём прописано?
Если удалить от туда путь к браузеру, то функция как раз будет возвращать 31.
Until The End Of Time

Последний раз редактировалось Showy; 24.05.2009 в 12:37.
Showy вне форума Ответить с цитированием
Старый 24.05.2009, 15:29   #5
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

в HKEY_CLASSES_ROOT\http\shell\open\c ommand

"C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"

стираю этот ключ, ставлю в Firefox установить браузером по умолчанию, появляется тоже значение.

Пробовал менять браузер через панель управления - при IE и при Firefox функция не работает.


Покопался в интернете и нашел ту самую программу с которой все началось - MYiE2 RU.

Установил её, сделал браузером по умолчанию, и функция заработала! Далее, опять сменил браузер на фирефокс, а функция продолжает открывать станицы в MYiE2! Единственное что могу предположить есть ещё какие-то настройки которые делает эта программа, но не делает firefox 3.0.10. И эта самая настройка влияет на функцию.

Последний раз редактировалось Armorer; 24.05.2009 в 15:32.
Armorer вне форума Ответить с цитированием
Старый 24.05.2009, 17:33   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

А оперу ставит не пробвали?
Alter вне форума Ответить с цитированием
Старый 24.05.2009, 17:41   #7
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Сейчас попробовал, MyIE прописывает в
HKEY_CLASSES_ROOT\http\shell
значение по умолчанию 'MyIE' и добавляет cвой раздел MyIE. Удаляем и раздел и значение по умолчанию, должно начать открывать через FF.
Также это надо сделать в ftp и https, может ещё где.
После удаления он сам за собой не чистит.
Так же он оставляет ещё кучу записей, сделайте поиск по MyIE и удалите их.
Until The End Of Time

Последний раз редактировалось Showy; 24.05.2009 в 17:47.
Showy вне форума Ответить с цитированием
Старый 24.05.2009, 18:35   #8
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Большое спасибо! заработало=)
Armorer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
флешка перестала работать Dizel883 Компьютерное железо 23 21.02.2010 18:18
Чем открывать XPK Файлы, помогите? polukrovka Свободное общение 3 12.09.2008 20:36
Как открывать песню при ее перетаскивании на ярлык програмы SeRhy Общие вопросы Delphi 2 14.03.2008 18:50
Открывать книгу только с макросами wnuks Microsoft Office Excel 1 14.07.2007 10:44