2016-10-01 13 views
3

「CommandFlags」= dword:00000040はサブメニュー(「サブコマンド」= "文字列)。例hereWindowsエクスプローラのコンテキストメニュー(サブメニューではない)にセパレータを追加

メインコンテキストメニューに区切り記号を追加する方法はありますか?

例私が使用しています:

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

これには、セパレータを与えません。

答えて

2

この例では、項目の後と前のセパレータを備え、このエントリはVirusTotal Uploaderのためshellexの上にロードされ、他のアプリケーションでは

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"="" 

あり、それは、レジストリの上にセパレーターを追加することはできません、注入された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)の値しか使用できない可能性があることを示しています。

関連する問題