2011-12-18 39 views
0

我可以在HKCR *鍵下成功註冊我的外殼擴展DLL,但是當我嘗試爲特定文件類型註冊時,它失敗。特定文件類型的外殼擴展註冊

你知道問題是什麼?

登記.RGS文件是:

HKCR 
{ 
    NoRemove CLSID 
    { 
     ForceRemove {BED8B9FD-1972-4E1E-B106-B576C5620C82} = s 'MyAppShellExt Class' 
     {   
      InprocServer32 = s '%MODULE%' 
      { 
       val ThreadingModel = s 'Apartment' 
      }   
     } 
    } 

    NoRemove .jpg 
    { 
     NoRemove ShellEx 
     { 
      NoRemove ContextMenuHandlers 
      { 
       ForceRemove MyApp = s '{BED8B9FD-1972-4E1E-B106-B576C5620C82}' 
      } 
     } 
    } 
} 
+0

「It fails」這意味着什麼。 – 2011-12-18 16:27:04

回答

0

你真的不應該寫什麼HKEY_CLASSES_ROOT直接。改寫爲HKEY_LOCAL_MACHINE\Software\Classes和/或HKEY_CURRENT_USER\Software類。微軟在HKEY_CLASSES_ROOT documentaton中表示同樣多。

+0

HKCR只是HKLM \ Software \ Classes的別名。關於HKCU沒有爭議。你能否擴展你的答案? – 2011-12-18 23:03:01

+1

閱讀我鏈接到的文檔。 'HKCR'不是'HKLM \ Software \ Classes'的簡單別名。這是「HKLM \ Software \ Classes」和「HKCU \ Software \ Classes」合併在一起的單一視圖。當您創建新密鑰或直接向'HKCR'寫入值時,將根據各種標準將其定向到HKCU或HKLM。 – 2011-12-20 00:08:56

+0

我試圖在HKLM \ Software \ Classes下注冊它,但菜單項沒有顯示出來。當我註冊*而不是特定文件類型時,它會出現。有什麼問題 ? – alexandertr 2012-06-01 13:58:11