Редактирование меню «Открыть с помощью» в Windows 10

20

Я часто использую PDF Split & Merge (PDF SAM), но не хочу устанавливать его в качестве обработчика PDF по умолчанию.

Когда я щелкаю правой кнопкой мыши по PDF-документу и выбираю Открыть с помощью , это параметры, которые мне дают. Чтобы выбрать PDF SAM, я должен нажать Выбрать другое приложение и выбрать PDF SAM там.

введите описание изображения здесь

Я бы хотел, чтобы PDF SAM находился прямо в меню « Открыть с помощью» .

Я просмотрел эти вопросы для помощи:

Я изменил реестр, чтобы установить PDF SAM как 2-й вариант в OpenWithList:

введите описание изображения здесь

Но, похоже, это ничего не меняет.

Я был бы рад, если бы Chrome, Edge и Waterfox просто не были в этом списке программ в меню « Открыть с помощью» , и я предполагаю, что это освободит достаточно места для PDF SAM, чтобы перейти в основной список, но только Waterfox будет отображаться в OpenWithList в реестре, и удаление его, похоже, не имеет никакого значения.

Обновление 1

Следуя предложениям в вопросе, связанном в комментариях ( вручную добавить программу для открытия в Windows 10 ), я попробовал DefaultProgramEditor, и он полностью провалился.

Затем я открыл реестр в HKCR.pdf \ OpenWithProgids и удалил оттуда запись Waterfox, и это действительно удалило Waterfox из списка Open with , но он не добавил PDFSAM в этот основной список:

Реестр:
введите описание изображения здесь

Открыть с помощью меню:
введите описание изображения здесь

Итак, мы выяснили, как удалить ненужные записи из основного списка, а не как добавить в него нужные записи.

Я также нашел список похожий вопрос: Странно открыть со списком (не соответствует реестру)

И проверил, чтобы убедиться, что PDF SAM имеет обе записи, предложенные ответом, и он делает:
введите описание изображения здесь

Обновление 2

Чуть позже после обновления Windows 10 до сборки 1809 я заметил, что PDF SAM теперь отображается в меню «Открыть с помощью».

Я еще не проверял, чтобы подтвердить, что Microsoft разрешила эту проблему или что-то еще не получилось. Как только я это подтвердлю, я напишу ответ.

music2myear
источник
Не уверен на 100%, но я думаю, что это 2-стороннее редактирование, и вы должны также изменить / добавить HKEY_CLASSES_ROOT\.pdf. Проверьте, как добавлены ключи, и я думаю, что вы можете понять это
Нарзард
Похоже, они наконец-то добавили контекстные меню, чтобы разрешить это, но не пробовали это лично - superuser.com/questions/981962/…
panhandel
Если вы хотите открыть с помощью, выберите PDF SAM в «выберите другое приложение» и откройте файл, в следующий раз, когда вы перейдете в меню «Открыть с помощью» для этого типа файла, он должен автоматически заполнить его PDF SAM в списке. Я только что попробовал это, открыв изображение в IE через меню open with, и оно заполнилось в следующий раз. Это не работает для вас? Я полагаю, что нет, поскольку вы явно опытный пользователь, но любопытно, что этого не происходит.
Диспенсер
Да, вы могли бы назвать меня опытным пользователем. Кроме того, да, список не меняется в зависимости от использования.
music2myear
@ music2myear Вы пробовали редактор программ по умолчанию ? проверить это, и я предполагаю, что он имеет именно ту функцию, которая вам нужна.
αsααc t ի ε βöss

Ответы:

3

У меня была точно такая же проблема, когда я не мог добавить Nitro Pro в контекстное меню «Открыть с помощью» для файлов * .pdf. Это на Win7, но не похоже, что подход MS к этой функции изменился между обеими операционными системами.

Испытывая всевозможные предложения, найденные в Интернете, я также попробовал OpenWithView от NirSoft . (см. http://www.nirsoft.net/utils/open_with_view.html ). Этот инструмент перечисляет «все доступные приложения в диалоговом окне« Открыть с помощью »Windows». Конечно, в нем также был указан Nitro Pro, но я стал подозрительным, потому что значок инструмента по умолчанию не отображался на обзорном экране, тогда как для всех других программ это было. Затем, дважды проверив путь к приложению (это еще один столбец в том же обзоре), я обнаружил, что в нем указан старый, а не текущий путь. (В какой-то момент я изменил имя папки в пути, и был удивлен, найдя его обратно в этом обзоре)

С помощью еще одного инструмента NirSoft, MUI Cacheview (см. Http://www.nirsoft.net/utils/muicache_view.html ), который позволяет «просматривать и редактировать список всех элементов MuiCache в системе», я обнаружил, что MUIcache содержал несколько значений для Nitro Pro. Не только самый последний (и правильный): каким-то образом устаревшее имя также имело место. По-видимому, это ошибочное / устаревшее значение было первым, с которым столкнулись и скрыли другие приложения, что могло объяснить ненормальное поведение программы.

Как только OpenWithView правильно отобразил Nitro Pro (т. Е. Правильный путь, также отображаемый значком инструмента), я смог добавить его в список «Открыть с помощью», выполнив указанные шаги: щелкните правой кнопкой мыши файл PDF >> Откройте с помощью >> Выберите другое приложение (или «Выберите другую программу ...» в Win7). Затем перейдите в правильное местоположение, выберите исполняемый файл и нажмите кнопку «Открыть».

Я не утверждаю, что то же самое происходит в случае с OP, так как некоторые элементы меню «Открыть с помощью» ведут себя странно (см., Например, также этот другой пост « Странно открыт со списком (несовместимым с реестром)», упомянутым OP), но это тоже не исключено. Инструменты NirSoft являются бесплатными и портативными, поэтому OP может легко и быстро попробовать вышеуказанное.

WinMike
источник
1

Вот обходной путь, но он работает.

1) Выберите « Открыть с помощью» и выберите « Выбрать другое приложение».

2) Выберите приложение , которое вы хотите добавить в Open With списка и нажмите Всегда открыты с помощью этой кнопки приложения радио.

Теперь приложение появится в контекстном меню « Открыть с помощью», поэтому, если вы не хотите, чтобы оно было приложением по умолчанию, повторите процесс и снова выберите Adobe PDF Reader в качестве приложения по умолчанию.

За последние годы реестр Windows стал немного дезорганизованным, и трудно понять, что происходит. Если у вас есть время, вы можете опубликовать различия в реестре до и после, чтобы увидеть, что изменилось в Win 10 в этом процессе.

Dan Sp.
источник
2
Это не работает. Я установил PDF SAM в качестве обработчика по умолчанию, как вы описали, и снова открыл меню «Открыть с помощью», и его там еще не было. Я установил обработчик по умолчанию обратно на Reader, а PDF SAM по-прежнему не отображается в главном меню Open With.
music2myear
@ music2myear Интересно. Мой Win10 обновлен, и я просто попробовал его, чтобы убедиться, что он имеет те результаты. Это на моем. Он появляется, когда он является обработчиком по умолчанию, и исчезает, когда вы возвращаете Reader обратно?
Dan Sp.
Нет. Он не отображается в списке ни на одном этапе этих шагов.
music2myear
1

Для тех, кто все еще имеет эту проблему, решение будет

\HKEY_CLASSES_ROOT\Applications\"ProgramName.exe"\SupportedTypes

и добавьте новую строку, содержащую формат, который вы хотите открыть, например, ".mp4"

Чоронг Парк
источник
Я проверю это.
music2myear
Я пробовал это, но у меня не получилось. SupportedTypesэто ключ? Что .mp4должно быть? Еще один ключ? Не могли бы вы развить свой ответ подробно?
cdlvcdlv
@cdlvcdlv Просто проверьте другие пункты реестра для справки. Например mspaint.exe.
Тара
0

Для тех, кто все еще испытывает ту же проблему при развертывании приложения через APP-V 5x:

Мне удалось сделать программу выбираемой (и использовать по умолчанию) в Open Withконтекстном меню. Решение выше работает хорошо, но обычно пользователи не хотят использовать контекстное меню каждый раз вместо того, чтобы связываться с типом файла. Поскольку мы находимся в управляемой среде и ничего не связываем автоматически при развертывании SCCM, поэтому небольшим обходным решением может быть:

Сначала выяснили причину, по которой даже наше приложение в виртуальной HKCR\Applicatons\something.exeсреде нельзя было выбрать Open Withпосле публикации пользователю. Я сделал следующий сценарий PowerShell, и этот трюк будет выполнен при запуске в add-package при запуске в машинном контексте и помещении необходимых данных в собственный реестр. Да, этот сценарий может быть проще и прозрачнее, но для целей тестирования вполне подойдет первый выстрел:

$ConnectorScriptRootPath = Split-Path -Path ((Get-Variable MyInvocation).Value).MyCommand.Path -Parent

$ConnectorRootPath = Split-Path -Path $ConnectorScriptRootPath -Parent

$OWExecutable = """" + $ConnectorRootPath + "\Root\VFS\ProgramFilesX64\VLC\vlc.exe" + """" + " --started-from-file " + """" + "%1" + """"

New-Item -Path HKLM:\Software\Classes\Applications -Name vlc.exe –Force

New-Item -Path HKLM:\Software\Classes\Applications\vlc.exe -Name shell –Force

New-Item -Path HKLM:\Software\Classes\Applications\vlc.exe\shell -Name Open –Force

New-Item -Path HKLM:\Software\Classes\Applications\vlc.exe\shell\Open -Name Command –Force

New-ItemProperty -Path HKLM:\Software\Classes\Applications\vlc.exe -Name "FriendlyAppName" -Value "VLC Media Player" -PropertyType String -Force

Set-Item -Path HKLM:\Software\Classes\Applications\vlc.exe\shell\Open -Value "Play with VLC Media Player" -Force

Set-Item -Path HKLM:\Software\Classes\Applications\vlc.exe\shell\Open\Command  -Value $OWExecutable -Force

И я помещаю этот файл в каталог скриптов:

[{AppVPackageRoot}]\..\Scripts\VLC_AddPackage.ps1

После создания последовательности и в редакторе пакетов я экспортировал файл манифеста и открыл его с помощью редактора манифестов App-V из решения TMUrgent. В редакторе манифеста я пошел scripts/machine scripts/Add-packageи установил:

Путь: PowerShell.exe
Аргументы: -executionpolicy bypass [{AppVPackageRoot}]\..\Scripts\VLC_AddPackage.ps1
wait: true
Timeout:30

Будьте осторожны с тем, AppvEnvvarsчто должно быть, как указано выше: [{AppVPackageRoot}] Будьте осторожны с wait: если скрипт работает неправильно и время ожидания не истекло, вы можете оказаться в нежелательной ситуации.

После добавления (и публикации) пакета его можно просматривать в других приложениях, Open Withи пользователь может установить его как приложение по умолчанию.

Здесь не упоминается, но будьте осторожны при удалении упаковки; должен быть другой скрипт, который удаляет записи, добавленные при публикации.

Надеюсь это поможет.

tamasult
источник