2013-02-21 125 views
0

需要將項目添加到特定文件類型的上下文菜單。在Windows 7和之前的版本是將照片添加與Windows 8特定文件類型上下文菜單關聯

@="<path_to_app> \"%1\"" 

值註冊表

HKEY_CLASSES_ROOT\<extension>\shell\<commandname>\command 

鍵完成。 在Windows 8中不起作用。即使刪除相應的類型的PersistentHandler鍵後: registry screenshot

很有趣,如果殼/命令鍵都寫在HKEY_CLASSES_ROOT\*\部分,上下文菜單項出現預期中的所有文件菜單是什麼,但是這是在情況下,巨大的開銷是我需要將我的應用程序添加到2-3個文件類型中,而不會破壞任何現有的關聯。 我在C#中使用Microsoft.Win32.Registry.ClassesRoot來實現這個邏輯,但問題絕對不在代碼中,因爲a)它在Windows 7中工作b)在Windows 8中使用管理員特權進行手動編輯不會添加所需的關聯。

回答

1

「HKEY_CLASSES_ROOT \ SystemFileAssociations \ video」是具有非WMP默認媒體播放器的系統中的.avi文件的「真實」子樹。我感興趣的.mkv文件類型也會創建另一個子樹 - 「mkv_auto_file」。不知道爲什麼它被完成,它在哪裏被記錄下來,但我的問題解決了。感謝漢斯的指導。

2

您一定注意到最初沒有「shell」鍵,儘管.avi文件肯定有Open上下文菜單項。還有一個額外的間接級別,請注意.avi鍵的默認值。這是與.avi文件擴展名關聯的ProgId。

按照WMP11.AssocFile.AVI鍵找到shell命令,在那裏添加你的命令。

+1

測試空白虛擬機,似乎工作。思想問題解決了,但隨後在工作機器上測試並失敗,因爲有另一個應用程序與需要的類型相關聯,並且WMP11.AssocFile.AVI也沒有效果。將嘗試HKEY_CLASSES_ROOT \ SystemFileAssociations \視頻,看看它如何發揮。 – Jaded 2013-02-21 19:56:27

相關問題