2016-10-01 2 views
3

Я обнаружил, что «CommandFlags» = dword: 00000040 добавит разделитель под элементом, но только в подменю (под «подкомандами» = "строка). Пример here.Добавить разделитель в контекстное меню проводника Windows (не в подменю)

Есть ли способ добавить разделитель в основное контекстное меню?

Пример Я использую:

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Delete With Rimraf] 
@="Delete With Rimraf" 
"CommandFlags"=dword:00000040 

Это не дает сепаратор.

ответ

2

В этом примере имеется разделитель до и после элемента, эта запись для VirusTotal Uploader

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\vtuploader] 
@="Send to VirusTotal" 
"Icon"="C:\\Program Files\\VirusTotalUploader2\\VirusTotalUploader2.2.exe,0" 
"SeparatorBefore"="" 
"SeparatorAfter"="" 

Для других приложений, загруженных через ShellEx это не возможно, чтобы добавить разделитель над реестром, нагнетаемый DLL добавить/удалить разделитель сама по себе, вам нужно затем, чтобы изменить код DLL и перекомпилировать его добиться того, что вы хотите здесь пример с блокнотом ++ https://github.com/notepad-plus-plus/notepad-plus-plus/pull/3092/commits

InsertMenu(hMenu, nIndex, MF_STRING | MF_BYPOSITION, idCmd++, m_szMenuTitle); 
2

Привет Я автор записи блога вы ссылаетесь (https://blog.sverrirs.com/2014/05/creating-cascading-menu-items-in.html)

Ваши варианты для управления главного контекстного меню довольно ограничено. MSDN documentation указывает, что вы можете использовать только значение ECF_SEPARATORBEFORE (0x20) для элементов верхнего уровня.

Смежные вопросы