2011-12-18 11 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

「これは失敗します。 –

答えて

0

あなたが本当に直接HKEY_CLASSES_ROOTには何も書いてはなりません。代わりにHKEY_LOCAL_MACHINE\Software\Classesおよび/またはHKEY_CURRENT_USER\Softwareに書き込みます。マイクロソフトはHKEY_CLASSES_ROOT documentatonで多くを言います。

+0

HKCRはHKLM \ Software \ Classesの単なるエイリアスです。 HKCUについての議論はない。あなたは答えを拡大してください。 –

+1

私がリンクしているドキュメントを読んでください。 'HKCR'は' HKLM \ Software \ Classes'の単純なエイリアスではありません。これは 'HKLM \ Software \ Classes'と' HKCU \ Software \ Classes'をまとめて一つにまとめたものです。新しいキーを作成するか、 'HKCR'に値を直接書き込むと、さまざまな基準に応じて' HKCU'または 'HKLM'のいずれかに向かいます。 –

+0

HKLM \ Software \ Classesに登録しようとしましたが、メニュー項目が表示されませんでした。特定のファイルタイプではなく*のために登録すると表示されます。どうしたの ? – alexandertr

関連する問題