Это для Windows 7, возможно, то же самое для более новых версий.Он был вдохновлен другими ответами, все влияет на порядок.
Я объясняю записи для "*" (все файлы), но то же самое касается специальных расширений.
Я не несу ответственности за любые изменения, внесенные в реестр!
В контекстном меню есть три раздела, как сказано в Как изменить порядок параметровв контекстном меню (из ответ от @ Anonymouse )
Они называют их:
2 - Default menu position (at the top).
1 - Send to, copy to folder and move to folder menu part (in the middle).
0 - Rename menu part (at the bottom).
В этих разделах положение определяется правилами в ответ от @ Luke
Самый простой способ изменить порядок в «разделе» - это изменить имя раздела реестра в HKCR-*-shell
или HKCR-*-shellex
.Все под подразделом shell
будут перед ними под shellex
.Ключи с CLSID
в качестве имени ключа будут последней записью, поскольку они являются последними в используемом порядке.
В качестве примера я следовал примеру из MSDN для создания контекстного меню.Обработчик .Это означает использование CLSID
в качестве имени для ключа в shellex
и «понятное имя» в качестве значения по умолчанию.Он был размещен внизу «секции» 2 (верхняя секция).Я изменил имя ключа на что-то вроде Asample
и заменил значение по умолчанию на CLSID
.Теперь это было непосредственно после записей в shell
.
. Есть еще несколько способов изменить порядок.
Для ключей в shell
вы можете добавить значение Position
со строковыми данными.Top
или Bottom
.Невозможно решить, в каком «разделе».
Для ключей с shellex
значение Position
не имеет никакого эффекта.Вместо этого можно решить, в каком «разделе» будет использоваться запись flags
, , описанная в ссылке выше.
- Используйте
CLSID
дляшеллекст, который вы хотите переместить.Это как
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
.Получите его либо из имени ключа, либо по умолчанию, это зависит от того, как выполняется запись. - Найдите запись в разделе HKCR-CLSID, ключ имеет имя
CLSID
.