簡體   English   中英

如何將新項添加到某個文件擴展名上下文菜單

[英]how to add new items to certain file extension context menu

如何將新項添加到某些文件擴展名上下文菜單(例如.mp3文件)

我還注意到窗口中的所有上下文菜單中都有共同的項目,它們是否共享/繼承了一個上下文菜單? 它在哪里:哪一個用於文本

調用了哪些鍵以及如何生成它們(例如{11dbb47c-a525-400b-9e80-a54615a090c0})

您還會推薦一個關於注冊表的簡短參考嗎?

  1. 在“運行”對話框或“開始”菜單搜索框中鍵入regedit ,然后按Enter鍵。 它將打開注冊表編輯器,現在轉到以下鍵:

    HKEY_CLASSES_ROOT * (用於在所有文件上下文菜單中添加選項) HKEY_CLASSES_ROOT \\ Directory (僅用於在文件夾上下文菜單中添加選項) HKEY_CLASSES_ROOT \\ Drive (僅用於在“驅動器”上下文菜單中添加選項) HKEY_CLASSES_ROOT \\ Unknown (用於添加選項)未知文件上下文菜單)

  2. 現在在上面提到的鍵下,你會找到“ Shell ”和“ Shellex ”鍵。 兩個鍵都包含各種條目,當您右鍵單擊文件,文件夾或驅動器時會顯示這些條目。 我們將在此示例中使用“ Shell ”鍵:

    • 右鍵單擊“ Shell ”鍵並選擇“ New - > Key ”。
    • 給它任何名字。 假設我們給它命名為“ Demo ”。
    • 現在在右側窗格中,雙擊“Default”字符串值並將其值設置為要在上下文菜單中顯示的Label。 就像你想在上下文菜單中添加“Winamp”一樣,你可以給它命名為“Open with Winamp”或類似名稱。
    • 現在在這個新創建的密鑰“ Demo ”下創建另一個密鑰,其名稱為“command”,右側窗格的“Default”設置值為應用程序的路徑。 例如,對於winamp,您可以設置其值%programfiles%\\Winamp\\winamp.exe

可在此處找到對此的完整參考

如何將新項添加到某個文件擴展名上下文菜單

本MSDN文章已涵蓋如何按摩注冊表以創建上下文菜單項條目。 它廣泛而且做得很好,無需在此重復。

我還注意到窗口中的所有上下文菜單中都有共同的項目

其中大部分都是資源管理器本身可以理解的烘焙項目。 有一個后門可以自己添加項目到任何文件,使用HKCR\\*注冊表項。 謹慎使用,這對用戶來說非常煩人。

例如{11dbb47c-a525-400b-9e80-a54615a090c0}

這是一個自定義shell擴展處理程序的示例,您在HKCR\\Folder注冊表項中找到了這個,這是將項添加到任何目錄的鍵。 可以把它想象成一個插件,它為資源管理器增加了它本身沒有的功能。 {guid}選擇Explorer加載的可執行文件來實現該項目。 導航到HKCR\\Classes\\CLSID\\{guid}以查看該文件,您將看到它由c:\\ windows \\ system32 \\ explorerframe.dll實現

編寫自己的shell擴展處理程序並不容易,它需要C ++中的COM編碼技巧。 一種變得模糊的編碼技術。 使用像C#這樣的東西在技術上是可能的,但微軟強烈反對,他們不會支持它。 您需要編寫一個實現IContextMenu接口的進程內COM服務器。 編程指南在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM