PDA

Показать полную графическую версию : [решено] Как в IE 10 запретить запуск Outlook при клике по ссылкам типа mailto:?


Страниц : [1] 2

9190
12-08-2013, 23:53
Меня уже доконал постоянный запуск Outlook при клике по ссылкам с электронными адресами [mailto:] в Internet Explorer. Возможно ли сделать так, чтобы при клике по ссылкам типа mailto: открывалась web-страница почтового сервиса, которым я пользуюсь, а не Outlook? Или, хотя бы, просто отменить запуск Outlook?

Я открываю свойства браузера > вкладка "Программы" > Задать программы > Сопоставление типов файлов или протоколов конкретным программам > нахожу протокол MAILTO > Нажимаю кнопку "Изменить программу..." > Открывается окно, в котором есть только один-единственный Microsoft Office Outlook. Выбора нет, и галку невозможно снять со "Всегда использовать эту программу для этого протокола".

ruslan...
13-08-2013, 02:14
9190,

Просмотрите в Панель управления\Программы\Программы по умолчанию - Настройка доступа программ и умолчаний.

9190
13-08-2013, 02:56
ruslan...,
Посмотрел. Менять там что-то можно только для пункта "Другая".
В области "Выберите используемую по умолчанию почтовую программу:" всё очень "здорово" и хитро: Можно выбрать либо "Использовать текущую программу" (а это как раз Outlook), либо выбрать... Microsoft Office Outlook. Это тоже самое, что "Вам чай без сахара, или без сахара?". Можно ещё попробовать снять галку со "Сделать доступной эту программу", но тогда мне просто будет предложено удалить весь MS Office с компа. Замечательно... Насколько это легко и просто реализовано в том же Firefox, и насколько из этого пустяка Microsoft может сделать целую проблему.

ruslan...
13-08-2013, 03:34
Можно ещё попробовать снять галку со "Сделать доступной эту программу", но тогда мне просто будет предложено удалить весь MS Office с компа. »

Не должно быть предложено. Вот только поможет ли снятие галки ....

Petunchicus
13-08-2013, 10:27
Возможно ли сделать так, чтобы при клике по ссылкам типа mailto: открывалась web-страница почтового сервиса »
Нет, нельзя.
Или, хотя бы, просто отменить запуск Outlook? »
Просто отменить нельзя, но можете установить другую почтовую программу(почтовый клиент) и сделать ее программой по умолчанию.

Iska
13-08-2013, 10:55
Нет, нельзя. »
Petunchicus, это специфично для IE? Во всяком случае, для FF сие допустимо (по прочим не скажу).

Vadikan
13-08-2013, 11:24
Не буду здесь цитировать все кирпичи ТС, который он складывал мне в блоге, не смущаясь оффтопа даже после явных намеков прекратить его.

Просто отмечу пару моментов:
1. Почтовый веб-сервис просто так назначить нельзя, но с помощью ПО этой компании может получиться. Например, Gmail Notifier.

2. Чтобы не запускалась назначенная программа, достаточно убрать путь к ней в реестре. В частности, удалить значение параметра "По умолчанию" в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command
Да, при этом будет сообщение, что программа не установлена, но это решает задачу в постановке вопроса ТС. ЧТД.

9190
13-08-2013, 14:52
Не буду здесь цитировать все кирпичи ТС, который он складывал мне в блоге »
А почему же? Здесь, как раз ситуация больше подходит. "Кирпичи" заключались в том, что я писал, что это позор, что у Microsoft это целая проблема, когда в других браузерах, вроде Firefox, такой проблемы нет. В Microsoft же для этого предлагают рыться в реестре. И то, это не даст полностью нужного эффекта. ЧТД.

Petunchicus
13-08-2013, 15:53
Во всяком случае, для FF сие допустимо (по прочим не скажу). »
для FF существует несколько почтовых плагинов(дополнений), при помощи которых можно открывать почту прямо на сервере. Сам таким пользуюсь. Возможно и для IE такие есть, не знаю. Но непосредственно настройкой интерфейса IE это не получится.

Iska
13-08-2013, 16:38
для FF существует несколько почтовых плагинов(дополнений), »
Там работает напрямую, без каких-либо дополнений:
http://img834.imageshack.us/img834/8529/73h.png
Но, понятное дело, обработка протокола «mailto:» сначала происходит внутри FF.

Но непосредственно настройкой интерфейса IE это не получится. »
Спасибо, ясно.

И то, это не даст полностью нужного эффекта. ЧТД. »
9190, я не поленился, установил IE8, максимально возможный для моей версии ОС.

Файл реестра:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Classes\mailto\shell\open\command]
@=hex(2):22,00,43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,\
00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,53,00,63,00,\
72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,00,43,00,3a,\
00,5c,00,1f,04,35,04,41,04,3e,04,47,04,3d,04,38,04,46,04,30,04,5c,00,30,00,\
33,00,30,00,5c,00,30,00,30,00,30,00,31,00,2e,00,76,00,62,00,73,00,22,00,20,\
00,22,00,25,00,31,00,22,00,00,00


Скрипт WSH C:\Песочница\030\0001.vbs:
Option Explicit

With WScript.Arguments
If .Count = 1 Then
WScript.CreateObject("WScript.Shell").Run _
"https://mail.yandex.ru/neo2/#compose/mailto=" & Escape(.Item(0))
'"https://e.mail.ru/cgi-bin/sentmsg?mailto=" & Escape(.Item(0))
End If
End With

WScript.Quit 0

Результаты:
Для Mail.RU:
http://img834.imageshack.us/img834/8384/xupb.png

Для Yandex:
http://img12.imageshack.us/img12/1098/c6we.png

На Google у меня нет учётных записей, потому и не пробовал, но не сомневаюсь, что будет работать при задании соответствующей строки подключения.

Мне осталось только спросить у Вас:
ЧТД. »
что я делаю не так, что у меня «malto:» — работает, в отличие от Вас?

Petunchicus
13-08-2013, 19:28
Iska, Там работает напрямую, без каких-либо дополнений: »
Действительно, напрямую. Сейчас посмотрел. Но это все в Firefox, а в Internet Explorer этого нет. Возможно там встроены сценарии, подобные тем, что вы написали ниже.

Iska
13-08-2013, 20:44
Возможно там встроены сценарии, подобные тем, что вы написали ниже. »
Вряд ли. Просто, как я уже писал, Firefox сам обрабатывает протокол «malto:» (помимо системного обработчика), потому может банально перейти на привязанную к указанной Web-почте страницу (они там гордо именуются «веб-приложениями» ;)):
http://img24.imageshack.us/img24/4153/cfg.gif

Какого-то особого кода там не требуется.

9190
14-08-2013, 03:07
что я делаю не так, что у меня «malto:» — работает, в отличие от Вас? »
А что вы имеете в виду под "работает"? У меня тоже работает... не так, как нужно. И исправить это обычными способами, как здесь уже отвечали, нельзя. Даже после совета Vadikana'a с реестром, Outlook как запускался, так и продолжает запускаться, даже вообще после удаления папки shell в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command

По поводу приведённого вами примера с файлом реестра, скриптом WSH – понятия не имею, что это, так как не являюсь специалистом в этой области.

ruslan...
14-08-2013, 03:23
9190,

HKEY_CLASSES_ROOT\WLMail.Url.Mailto\shell\open\command

Удалите значение, оно у Вас будет что-то связанное с Outlook .
При нажатии на почтовый адрес на странице IE выйдет сообщение, что не удается запустить, не правильно установлен.

При необходимости можете поступить также с другими WLMail.Url, которые будут находится там же, в реестре.
Перед правкой экспортируйте разделы, для восстановления.

А если еще и тоже самое сделаете в HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WLMail.Url.Mailto

Да еще и в HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Outlook\Protocols\mailto\shell\open\command

Может вообще сообщений ни каких не будет ? :) Пробуйте ...
Перед всеми удалениями экспорт.

Iska
14-08-2013, 07:01
А что вы имеете в виду под "работает"? »
При щелчке на ссылке с протоколом «mailto:» открывает веб-страницу почтового сервиса, указанного в скрипте, с уже заполненным полем «To:». Я привёл примеры для Mail.RU и Яндекс, в подтверждение чему приложил скриншоты. То есть, ровно то, о чём говорилось изначально:
Возможно ли сделать так, чтобы при клике по ссылкам типа mailto: открывалась web-страница почтового сервиса, которым я пользуюсь, а не Outlook? »
Каким именно сервисом Вы пользуетесь?

У меня тоже работает... не так, как нужно. И исправить это обычными способами, как здесь уже отвечали, нельзя. Даже после совета Vadikana'a с реестром, Outlook как запускался, так и продолжает запускаться, даже вообще после удаления папки shell в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command »
1. Зя. Что я и продемонстрировал, воспользовавшись вышеуказанным советом (http://forum.oszone.net/post-2200690.html#post2200690).
2. «Не верю».

По поводу приведённого вами примера с файлом реестра, скриптом WSH – понятия не имею, что это, так как не являюсь специалистом в этой области. »
1. Сохранить код из «Файл реестра» в файл с произвольным именем и расширением «.reg», импортировать созданный файл реестра в реестр.
2. Создать файл «C:\Песочница\030\0001.vbs», добавить в него приведённый код, указав в нём потребную страницу Вашего почтового сервиса.
3. Пользоваться.

Dzirt2005
14-08-2013, 09:27
Даже после совета Vadikana'a с реестром, Outlook как запускался, так и продолжает запускаться, даже вообще после удаления папки shell в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command »
Это совершенно правильный совет. Просто еще есть ветка

HKEY_CURRENT_USER\Software\Classes\mailto\shell\open\command

в которой нужно сделать то же самое. Или вообще удалить весь раздел

HKEY_CURRENT_USER\Software\Classes\mailto

чтобы всегда использовались общие настройки из раздела HKEY_CURRENT_USER\Software\Classes\mailto

PS: Возможно также после этих изменений потребуется перезагрузить компьютер, проверять лень.

Iska
14-08-2013, 15:44
Просто еще есть ветка »
По умолчанию её нет.

Или вообще удалить весь раздел
HKEY_CURRENT_USER\Software\Classes\mailto
чтобы всегда использовались общие настройки из раздела HKEY_CURRENT_USER\Software\Classes\mailto »
Во втором случае, наверное, надо читать «HKEY_CURRENT_USERHKEY_LOCAL_MACHINE\Software\Classes\mailto»?

PS: Возможно также после этих изменений потребуется перезагрузить компьютер, проверять лень. »
Не надо.

Dzirt2005
14-08-2013, 15:53
По умолчанию её нет. »
Она появится как только какая-нибудь программа ее сделает. У меня есть, хотя я ее явно не создавал. А после того, как появится HKEY_LOCAL_MACHINE\Software\Classes\mailto уже не будет использоваться. Поэтому надо хотя бы проверить есть такой раздел реестра или нет.

Во втором случае, наверное, надо читать «HKEY_CURRENT_USERHKEY_LOCAL_MACHINE\Software\Classes\mailto»? »
Да, именно так. Знаменитая технология Копи-паст дает о себе знать :)

9190
15-08-2013, 02:52
Каким именно сервисом Вы пользуетесь? »
Основной почтовый сервис, которым я пользуюсь – Mail.Ru (...@bk.ru). Очень редко Gmail.
Завтра попробую ваш способ. А папку "Песочница" что, так и называть? То есть мне нужно на диске С создать папку "Песочница"?
C:\Песочница\030\0001.vbs

Спасибо всем за советы, буду пробовать.

Iska
15-08-2013, 08:44
2All: приношу свои извинения — вместо потребного кода файла реестра я, нелепым образом перепутав созданный файл реестра и резервную копию, выложил выше оригинальное содержимое из резервной копии, а именно — «"%ProgramFiles%\OUTLOOK EXPRESS\MSIMN.EXE" /mailurl:%1», :(. Поправил.

9190, давайте сделаем чуть попроще. Вот код нового скрипта:
Option Explicit

Const HKEY_LOCAL_MACHINE = &H80000002

Dim strWebApp

' Яндекс
'strWebApp = "https://mail.yandex.ru/neo2/#compose/mailto="

' Mail.RU
'strWebApp = "https://e.mail.ru/cgi-bin/sentmsg?mailto="

' GMail
'strWebApp = "https://mail.google.com/mail/?extsrc=mailto&url="

With WScript.Arguments
If .Count = 1 Then
WScript.CreateObject("WScript.Shell").Run strWebApp & Escape(.Item(0))
Else
If Not IsEmpty(strWebApp) Then
If WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default").Get("StdRegProv").SetExpandedStringValue( _
HKEY_LOCAL_MACHINE, "Software\Classes\mailto\shell\open\command", "", """" & WScript.FullName & """ """ & WScript.ScriptFullName & """ ""%1""" _
) = 0 Then
WScript.Echo "Successfully add this script into registry [HKEY_LOCAL_MACHINE\Software\Classes\mailto\shell\open\command\(Default)]."
Else
WScript.Echo "Can't add this script into registry [HKEY_LOCAL_MACHINE\Software\Classes\mailto\shell\open\command\(Default)]."
End If
Else
WScript.Echo "Uncomment one of statement string with assignment of «strWebApp» variable, save this script and run again."
End If
End If
End With

WScript.Quit 0

Раскомментируйте одну из выделенных строк, определяющих переменную «strWebApp», задающую Web-сервис. Сохраните полученный код под любым именем и с расширением «.vbs» в любом удобном для Вас месте. Запустите его один раз. Он добавит в потребный параметр и раздел реестра ссылку на запуск самого себя с параметром. После этого можно пробовать пользоваться.

Если понадобится сменить Web-сервис — комментируете текущую строку с присваиванием переменной «strWebApp» и раскомментируете потребную и сохраняете код.

Восстановить обработчик по умолчанию — как обычно, в «Выборе программ по умолчанию».




© OSzone.net 2001-2012