如何更改上下文菜單中條目的順序(例如,用於目錄)我需要知道Windows在顯示時如何確定順序以便我可以控制它。例如,我想將我的自定義操作置於上下文菜單列表的末尾在Windows資源管理器上下文菜單中訂購
提前致謝!
如何更改上下文菜單中條目的順序(例如,用於目錄)我需要知道Windows在顯示時如何確定順序以便我可以控制它。例如,我想將我的自定義操作置於上下文菜單列表的末尾在Windows資源管理器上下文菜單中訂購
提前致謝!
我的谷歌福促使我this:
所以排序是基於決策順序如下內容:
- 鍵優先級(例如,txtfile,則*,AFSO)
- shellex \ contextmenuhandlers的註冊表枚舉順序,靜態動詞的特殊情況總是第一個
- IContextMenu執行順序
因此,如果有任何競爭的位置,沒有一致的方式來擴展,以保證其在菜單中的相對位置。
顯然你不能對第一階段做任何事情。第3階段只適用於你的處理程序中實現的動詞。這就離開了第二階段。你唯一能做的就是在ContextMenuHandlers下命名你的條目,這樣它將首先被枚舉,但是沒有任何東西阻止別人做同樣的事情。
This Q&A顯示了在上下文菜單中創建(不移動)項目的簡單方法。我設法複製一個現有的項目。然後,我通過重命名密鑰以「aMyItem」或「0MyItem」開始,將項目移至上下文菜單中更高且更易於訪問的位置。
這爲我做...步驟4到7 - 設置「標誌」 http://techoqueries.blogspot.de/2012/08/how-to-change-order-of-options-in.html
這是Windows 7,也許對新版本相同。它受到其他答案的啓發,都影響着訂單。
我正在解釋「*」(所有文件)的條目,但特殊擴展名也是如此。
對於在註冊表中做出的任何更改,我不承擔任何責任!
有在上下文菜單中三段,因爲它說,在How to Change the Order of Options in Context Menu(從answer by @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).
在這些章節中的位置由規則answer by @Luke決定
在「部分」內更改順序的最簡單方法是更改HKCR-*-shell
或HKCR-*-shellex
下的註冊表項名稱。所有在子項shell
之下的都將在shellex
之下。具有CLSID
作爲關鍵名稱的密鑰將作爲最後一個條目,因爲它們是使用的訂單中的最後一個。
作爲一個例子,我正在關注sample from MSDN to build a Context Menu Handler。即使用CLSID
作爲shellex
下的密鑰名稱,並將「友好名稱」作爲默認值。它被放置在「部分」2(頂部部分)的底部。我將密鑰名稱更改爲Asample
之類的內容,並將缺省值更改爲CLSID
。現在它是在shell
之後直接輸入的。
還有一些更改訂單的方法。
對於shell
下的密鑰,您可以將值Position
與字符串數據Top
或Bottom
相加。無法決定什麼「部分」。
對於shellex
下的鍵值Position
不起作用。相反,可以決定上面的條目將使用flags
,described in the link的「部分」。
- 使用
CLSID
你要移動的shellext。這就像
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
。從鍵名或默認值中獲取它,取決於條目的完成方式。- 找到HKCR-CLSID下的條目,密鑰的名稱爲
CLSID
。- 使用名稱
flags
和數據DWORD
添加一個值,並在上面找到的CLSID
下面描述的「部分」編號。
@Christoph Grimmer-Dietrich,什麼?你有沒有在谷歌找到答案?好的,給我鏈接。 – ixSci
我很抱歉。我雖然第二個鏈接(http://windowsxp.mvps.org/context_folders.htm)會幫助你。 –