| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Загрузка IExplorer |
| Автор: Poseidon 20.3.2005, 03:55 |
| В общем-то САБЖ, но поясню. При использовании ShellExecute для открытия окна браузера с конкратным адресом и при условии, что Ixplorer уже открыт, происходит следующее: новое окно браузера не открывается, а адрес передается в уже открытую страницу. А нужно, что бы было что-то вроде "ОТКРЫТЬ В НОВОМ ОКНЕ ". Что бы то, что уже открыто не потерялось. Может кто знает как это сделать? |
| Автор: Vit 20.3.2005, 07:39 |
| Выполнить через ShellExecute не линку а IExplore.exe а параметром в него передать твой линк |
| Автор: Poseidon 21.3.2005, 20:52 |
| Vit, спасибо за совет, только моленькое исправление (если кто-то еще заинтересован как это сделать): вызывать не IExplore.exe, а explorer.exe. PS. Еще хотелось бы узнать, как можно получить используемый по умолчанию браузер? Т.е. что бы открывать интернет страницу не в IE, а в браузере по умолчанию. При этом открывать в новом окне. Вот задача! Ведь если использовать ShellExecute, передавая линк, то открывается браузер, каторый установлен по умолчанию, и это может быть не IE. PPS. Знаю, что этот пост нарушает пункт 10 правил форума. Но я решил, что, по сути, это не новая тема, а продолжение старой. |
| Автор: _hunter 21.3.2005, 20:59 |
| а почему не IExplore.exe? ShellExecute и открывает в браузере по умолчанию а что бы открывать в новом окне поставь в свойствах ие соотв. галку ( точнее убери ) -- "использовать одно и то же окно для загрузки ярлыков" |
| Автор: Vit 21.3.2005, 21:22 | ||
Прочитать в реестре имя браузера по умолчанию и его вызвать. |
| Автор: Poseidon 22.3.2005, 03:31 | ||
В том-то и дело, что ShellExecute открывает в браузере по умолчанию. Но если это браузер уже открыт, то новое окно не вызывается, а ссылка передается в уже открытое, а это не есть good. Нужно что бы ссылка открывалась в новом окне. Vit, если не трудно, подскажи в каком ключе реестра. |
| Автор: Vit 22.3.2005, 07:10 |
| х.з. поищи по реестру... |
| Автор: Rennigth 22.3.2005, 10:15 |
| Poseidon здесь посмотри HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet правда у меня щас только IE и стоит, поэтому неуверен |
| Автор: p0s0l 22.3.2005, 10:52 |
| Надо смотреть: HKEY_CLASSES_ROOT\HTTP\Shell\Open\Command (аналогично другие протоколы, напр., FTP) Если же ты открываешь .html файлы с винта, то: HKEY_CLASSES_ROOT\.htm HKEY_CLASSES_ROOT\.html Там смотришь Default-значение (если через regedit)... К примеру, у меня это = Opera.HTML, значит, смотрим следующее: HKEY_CLASSES_ROOT\Opera.HTML\Shell\Open\Command |
| Автор: _hunter 22.3.2005, 16:30 |
| Poseidon, ты галку убирал? у меня открывается в новом окне независимо от наличия предыдущего... |
| Автор: Poseidon 23.3.2005, 00:49 | ||||||
Vit
Rennigth
p0s0l, спасибо! То, что нужно. Я догадывался, что нужно смотреть с какой программой ассоциируются htm (html) файлы, но все же хотелось получить совет профи. Только вот задача: Как читать значение "По умолчанию", с использованием TRegistry? Просто использовать ReadString не корректно (да и по-моему не пройдет). _hunter
|
| Автор: p0s0l 23.3.2005, 11:39 | ||
Открываешь этот ключ (который с Default-полем) и делаешь Reg.ReadString(''); (т.е. пустое имя) |
| Автор: _hunter 23.3.2005, 16:15 |
| Poseidon, именно хочу. твоя программа должна работать в соответствии с настройками пользователя. и если он ожидает получать все ярлыки в одном окне он должен их получать в одном окне |
| Автор: Poseidon 24.3.2005, 04:58 | ||||
2p0s0l
2_hunter
2All Всем спасибо! Мой вопрос исчерпан. |
| Автор: _hunter 24.3.2005, 15:18 |
| подозревает/не подозревает -- это не твои проблемы. твои проблемы -- сделать программу работающей так, как это ожидается в соответствии с настройками системы и общепринятыми соглашениями. как ты думаеш, если при нажатии на крестик ( тот, что окно закрывает ) твоя программа будет не закрываться, а создавать еще одно окно, это будет нормально? |
| Автор: Poseidon 24.3.2005, 18:38 | ||
Сколько людей, столько и мнений Может ты в каком-то смысле и прав. Но я же исхожу, при написании программ, не из общепринятых соглашений, а из соображений удобства пользования. Даже в примере с крестиком: Мне например нравится, что все приложения Office (да и не только) спрашивают о сохранении при нажатии на крестик. Очень удобно! Так и открытие в новом окне, в моем понимании, удобнее, чем менять содержимое уже открытого окна. |
| Автор: _hunter 24.3.2005, 18:41 |
| запрос перед закрытием это тоже общепринято. ну да ладно... это уже флейм пошел... мое дело предложить, твое -- положить |
| Автор: Poseidon 25.3.2005, 03:55 | ||
|