6

MSのドキュメントは単に言う:

ProgID を指定すると、CLSIDFromProgID はレジストリ内の関連する CLSID を検索します。

しかし、それは正確にどこに見えますか?間違った CLSID が返されるという奇妙な問題があり、この関数が探している場所を追跡して、問題の場所を絞り込みたいと考えています。

4

1 に答える 1

6

ルックアップは、アプリケーションのマニフェストとその依存アセンブリ マニフェストを通過します。これは、登録不要の COMをサポートするために行われます。

アプリケーション マニフェストがない場合、または依存アセンブリ マニフェストのいずれもcomClassまたはXML 要素でクラスを宣言していない場合、ルックアップは既定でレジストリに設定され、レジストリは、という名前の文字列値で1clrClassをチェックします。HKEY_CLASSES_ROOT\<ProgID>CLSID


1.HKEY_CLASSES_ROOTの混合です。HKEY_CURRENT_USER\Software\ClassesHKEY_LOCAL_MACHINE\Software\Classes

于 2012-11-19T00:42:01.177 に答える