Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   [решено] Как в IE 10 запретить запуск Outlook при клике по ссылкам типа mailto:? (http://forum.oszone.net/showthread.php?t=266053)

9190 12-08-2013 23:53 2200568

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

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

ruslan... 13-08-2013 02:14 2200594

9190,

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

9190 13-08-2013 02:56 2200604

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

ruslan... 13-08-2013 03:34 2200608

Цитата:

Цитата 9190
Можно ещё попробовать снять галку со "Сделать доступной эту программу", но тогда мне просто будет предложено удалить весь MS Office с компа. »

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

Petunchicus 13-08-2013 10:27 2200666

Цитата:

Цитата 9190
Возможно ли сделать так, чтобы при клике по ссылкам типа mailto: открывалась web-страница почтового сервиса »

Нет, нельзя.
Цитата:

Цитата 9190
Или, хотя бы, просто отменить запуск Outlook? »

Просто отменить нельзя, но можете установить другую почтовую программу(почтовый клиент) и сделать ее программой по умолчанию.

Iska 13-08-2013 10:55 2200681

Цитата:

Цитата Petunchicus
Нет, нельзя. »

Petunchicus, это специфично для IE? Во всяком случае, для FF сие допустимо (по прочим не скажу).

Vadikan 13-08-2013 11:24 2200690

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

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

2. Чтобы не запускалась назначенная программа, достаточно убрать путь к ней в реестре. В частности, удалить значение параметра "По умолчанию" в
Код:

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

9190 13-08-2013 14:52 2200795

Цитата:

Цитата Vadikan
Не буду здесь цитировать все кирпичи ТС, который он складывал мне в блоге »

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

Petunchicus 13-08-2013 15:53 2200827

Цитата:

Цитата Iska
Во всяком случае, для FF сие допустимо (по прочим не скажу). »

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

Iska 13-08-2013 16:38 2200843

Цитата:

Цитата Petunchicus
для FF существует несколько почтовых плагинов(дополнений), »

Там работает напрямую, без каких-либо дополнений:

Но, понятное дело, обработка протокола «mailto:» сначала происходит внутри FF.


Цитата:

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

Спасибо, ясно.

Цитата:

Цитата 9190
И то, это не даст полностью нужного эффекта. ЧТД. »

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:


Для Yandex:


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


Мне осталось только спросить у Вас:
Цитата:

Цитата 9190
ЧТД. »

что я делаю не так, что у меня «malto:» — работает, в отличие от Вас?

Petunchicus 13-08-2013 19:28 2200945

Iska,
Цитата:

Цитата Iska
Там работает напрямую, без каких-либо дополнений: »

Действительно, напрямую. Сейчас посмотрел. Но это все в Firefox, а в Internet Explorer этого нет. Возможно там встроены сценарии, подобные тем, что вы написали ниже.

Iska 13-08-2013 20:44 2200991

Цитата:

Цитата Petunchicus
Возможно там встроены сценарии, подобные тем, что вы написали ниже. »

Вряд ли. Просто, как я уже писал, Firefox сам обрабатывает протокол «malto:» (помимо системного обработчика), потому может банально перейти на привязанную к указанной Web-почте страницу (они там гордо именуются «веб-приложениями» ;)):


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

9190 14-08-2013 03:07 2201131

Цитата:

Цитата Iska
что я делаю не так, что у меня «malto:» — работает, в отличие от Вас? »

А что вы имеете в виду под "работает"? У меня тоже работает... не так, как нужно. И исправить это обычными способами, как здесь уже отвечали, нельзя. Даже после совета Vadikana'a с реестром, Outlook как запускался, так и продолжает запускаться, даже вообще после удаления папки shell в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command

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

ruslan... 14-08-2013 03:23 2201133

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 2201159

Цитата:

Цитата 9190
А что вы имеете в виду под "работает"? »

При щелчке на ссылке с протоколом «mailto:» открывает веб-страницу почтового сервиса, указанного в скрипте, с уже заполненным полем «To:». Я привёл примеры для Mail.RU и Яндекс, в подтверждение чему приложил скриншоты. То есть, ровно то, о чём говорилось изначально:
Цитата:

Цитата 9190
Возможно ли сделать так, чтобы при клике по ссылкам типа mailto: открывалась web-страница почтового сервиса, которым я пользуюсь, а не Outlook? »

Каким именно сервисом Вы пользуетесь?

Цитата:

Цитата 9190
У меня тоже работает... не так, как нужно. И исправить это обычными способами, как здесь уже отвечали, нельзя. Даже после совета Vadikana'a с реестром, Outlook как запускался, так и продолжает запускаться, даже вообще после удаления папки shell в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command »

1. Зя. Что я и продемонстрировал, воспользовавшись вышеуказанным советом.
2. «Не верю».

Цитата:

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

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

Dzirt2005 14-08-2013 09:27 2201201

Цитата:

Цитата 9190
Даже после совета 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 2201492

Цитата:

Цитата Dzirt2005
Просто еще есть ветка »

По умолчанию её нет.

Цитата:

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

Во втором случае, наверное, надо читать «HKEY_CURRENT_USERHKEY_LOCAL_MACHINE\Software\Classes\mailto»?

Цитата:

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

Не надо.

Dzirt2005 14-08-2013 15:53 2201504

Цитата:

Цитата Iska
По умолчанию её нет. »

Она появится как только какая-нибудь программа ее сделает. У меня есть, хотя я ее явно не создавал. А после того, как появится HKEY_LOCAL_MACHINE\Software\Classes\mailto уже не будет использоваться. Поэтому надо хотя бы проверить есть такой раздел реестра или нет.

Цитата:

Цитата Iska
Во втором случае, наверное, надо читать «HKEY_CURRENT_USERHKEY_LOCAL_MACHINE\Software\Classes\mailto»? »

Да, именно так. Знаменитая технология Копи-паст дает о себе знать :)

9190 15-08-2013 02:52 2201835

Цитата:

Цитата Iska
Каким именно сервисом Вы пользуетесь? »

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

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

Iska 15-08-2013 08:44 2201877

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» и раскомментируете потребную и сохраняете код.

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

9190 16-08-2013 19:08 2202855

Iska, а как раскомментировать? Я знаю только принцип комментирования в HTML и CSS, здесь же сложно понять. То ли какие-то кавычки убрать где-то, то ли ещё что...

Iska 16-08-2013 19:34 2202864

В VBScript комментарием является символ апострофа «'» [вообще-то ещё и «Rem», но я уже не помню, чтобы я где-либо видел, чтобы его кто-то использовал], его действие распространяется на всю последующую строку.

То есть, Вам надо убрать символ «'» в одной из выделенных строк, перед «strWebApp = …». Захотите сменить Web-сервис — опять добавьте перед строкой апостроф, а из другой строки с присваиванием — уберите.

9190 16-08-2013 20:28 2202878

Вложений: 1
Iska, теперь всё понятно по вашей инструкции. Но, к сожалению: (скриншот).

Это, наверное, потому что я там уже что-то делал по рекомендации из сообщений ранее.

Iska 16-08-2013 21:15 2202897

Запускаете скрипт из-под Проводника? Возможно, надо запускать с привилегиями администратора?!

9190 16-08-2013 21:28 2202906

Нет, просто дважды клацая по файлу. Но даже через правую клавишу мыши там в меню нет "Запуск от имени администратора", который обычно бывает при запуске всяких исполняемых файлов.

Iska 16-08-2013 22:21 2202933

Цитата:

Цитата 9190
Но даже через правую клавишу мыши там в меню нет "Запуск от имени администратора", который обычно бывает при запуске всяких исполняемых файлов. »

Так. Судя по записи в блоге Blast'а: Запрос на повышение прав при запуске VBS-скриптов | Техноблог, достаточно создать ярлык на «wscript.exe "Путь\скрипт.vbs"» (а, возможно, и просто на скрипт; проверять не на чем), чтобы у этого ярлыка появился соответствующий пункт в контекстном меню.

9190 16-08-2013 23:24 2202983

Вложений: 2
Да, получилось. Но результат... ) увы, всё также запускается Outlook. Я перезапускал браузер, но всё равно.

Не хочется дальше напрягать со своим вопросом. Не получается, что поделаешь. )

Iska 17-08-2013 22:46 2203373

9190, запустите Редактор реестра, проверьте «ручками», что у Вас в параметрах по умолчанию в разделах «HKEY_LOCAL_MACHINE\Software\Classes\mailto\shell\open\command» и в «HKEY_CURRENT_USER\Software\Classes\mailto\shell\open\command».

9190 18-08-2013 03:09 2203439

По первому пути у меня следующее:
Имя: (По умолчанию)
Тип: REG_EXPAND_SZ
Значение: "C:\Windows\System32\wscript.exe" "C:\Users\имя_пользователя\Desktop\ok.vbs" "%1"

ok.vbs – это тот файл, который я создал по вашему примеру.

По поводу второго пути. У меня цепочка заканчивается здесь:
HKEY_CURRENT_USER\Software\Classes
А в Classes mailto отсутствует.

Vadikan 18-08-2013 11:10 2203484

Iska, зачем вообще вся эта возня с VBS? Достаточно прописать путь explorer url в двух разделах реестра и дело с концом.

SteelArt 08-10-2015 21:21 2562015

Приветствую!
Цитата:

Цитата Vadikan
Достаточно прописать путь explorer url в двух разделах реестра и дело с концом »

А можно поподробней?


Время: 22:31.

Время: 22:31.
© OSzone.net 2001-