5

Поскольку я работаю на разных компьютерах с установленными разными программами, мне часто приходится искать « Open with -dialog» в контекстном меню, поскольку контекстное меню, по-видимому, отсортировано по алфавиту, и поэтому многие программы могут - и будут - стоять впереди. или после этого.

Поэтому я хочу переместить Open with верхней части списка, как показано здесь:

схема контекстного меню

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

Немного гуглив вокруг привело меня к такому SO-вопросу под названием "Порядок в контекстном меню Windows Explorer", который, в свою очередь, привел меня к этому - довольно старому - посту блога из MSDN, в котором говорилось, что:

[...] сортировка основана на следующих элементах в порядке принятия решений:

  1. Приоритет ключа (например, txtfile, *, AFSO)

  2. Порядок перечисления реестра для shellex\contextmenuhandlers со специальным регистром для статических глаголов, всегда на первом месте

  3. IContextMenu реализации


Единственное решение, которое я могу придумать, очень нелегкое: переименование Open with чего-то вроде 1: Open with или 0pen with . Я пробовал это, но, к сожалению, это удаляет Open with полностью (как в: он больше не в контекстном меню).

Другое решение, о котором я читал в SO-вопросе, заключалось в размещении Open with внутри другого раздела контекстного меню. Я бы тоже хотел этого избежать, так как это только немного помогло бы, потому что количество программ все равно повлияло бы на позицию.


Есть ли какой-нибудь способ получить Open with сверху с помощью ручного способа, например, через Regedit или PowerShell?

Примечание: для меня не имеет значения, будет ли он до или после Open .

1 ответ1

2

Вместо изменения позиции обычного Open with из HKCR\*\shellex\contextmenuhandlers во всплывающем контекстном меню, вы можете добавить следующий другой Open with HKCR\*\shell и принудительно установить его позицию наверх во всплывающем окне следующим образом:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\.OpenWith]
"Position"="Top"

[HKEY_CLASSES_ROOT\*\shell\.OpenWith\command]
@="{09799AFB-AD67-11d1-ABCD-00C04FC30936}"

Результат (пример с файлом .png ):

Открыть с

Чтобы отменить изменения, прочитайте и следуйте инструкциям по удалению ключей и значений реестра.

Чтобы удалить раздел реестра с файлом .reg , поместите дефис (-) перед RegistryPath в файле .reg .

В этом случае необходимо удалить .OpenWith из раздела реестра HKEY_CLASSES_ROOT\*\shell используйте:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\.OpenWith]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .