1 // RegistryAssociations.h
2 
3 #ifndef __REGISTRYASSOCIATIONS_H
4 #define __REGISTRYASSOCIATIONS_H
5 
6 #include "Common/MyString.h"
7 
8 namespace NRegistryAssociations {
9 
10   struct CExtInfo
11   {
12     UString Ext;
13     UStringVector Plugins;
14     // bool Enabled;
15   };
16   bool ReadInternalAssociation(const wchar_t *ext, CExtInfo &extInfo);
17   void ReadInternalAssociations(CObjectVector<CExtInfo> &items);
18   void WriteInternalAssociations(const CObjectVector<CExtInfo> &items);
19 
20   bool CheckShellExtensionInfo(const CSysString &extension, UString &iconPath, int &iconIndex);
21 
22   // void ReadCompressionInfo(NZipSettings::NCompression::CInfo &anInfo,
23   void DeleteShellExtensionInfo(const CSysString &extension);
24 
25   void AddShellExtensionInfo(const CSysString &extension,
26       const UString &programTitle,
27       const UString &programOpenCommand,
28       const UString &iconPath, int iconIndex,
29       const void *shellNewData, int shellNewDataSize);
30 
31 
32   ///////////////////////////
33   // ContextMenu
34   /*
35   bool CheckContextMenuHandler();
36   void AddContextMenuHandler();
37   void DeleteContextMenuHandler();
38   */
39 
40 }
41 
42 // bool GetProgramDirPrefix(CSysString &aFolder);
43 
44 #endif
45