Урок 48 Создание и регистрация собственного расширения
July 20, 2007
в колонках играет Чайф - Не со мной
Этот урок продолжает урок 42, где вы учились создавать ярлык.
Теперь мы пойдем дальше, и, создав собственный тип файла, зарегистрируем его в системе.
Для тех, кто в танке, обьясню, зачем это нужно. Гляньте на bpr(проекты) файлы билдера - они открываются только через BCB(по умолчанию). Кстати говоря, у любых файлов можно поменять расширение на свое и зарегить его в системе на свою прогу=).
Поскольку регистрация расширения задействует реестр системы, вы должны включить в код Registry.hpp.
Сначала я покажу как впринципе добавлять инфу в реестр:
#include <Registry.hpp>
TRegistry *Registry=new TRegistry;
try
{
Registry->RootKey=HKEY_CURRENT_USER; // Ветвь реестра активного юзера
Registry->OpenKey("ant47\Test",true); // Создать новую ветвь в реестре
Registry->WriteString("DATA","15 мая"); // Создание строкового раздела
}
__finally
{
delete Registry;
}
А это собственно пример регистрации расширения:
#include <Registry.hpp>
TRegistry *Reg;
Reg=NULL;
try
{
Reg=new TRegistry;
Reg->RootKey=HKEY_CLASSES_ROOT; //Ветка реестра, где хранятся расширения файлов
Reg->OpenKey("\.bhf",true); //Указываем расширения файла. Здесь это bhf(Builder Helper File)
Reg->WriteString("","MyProgram"); //Название вашей проги
Reg->CloseKey();
Reg->OpenKey("\MyProgram", true);
Reg->WriteString("","Builder Helper File"); //Описание типа файла
Reg->CloseKey();
Reg->OpenKey("\MyProgram\Shell\Open\Command",true);
Reg->WriteString("",ParamStr(0)+" "%1"");
Reg->CloseKey();
Reg->OpenKey("\MyProgram\DefaultIcon",true);// Иконка проги=иконка для ваших файлов
Reg->WriteString("",ParamStr(0)+", 1");
Reg->CloseKey();
}
__finally
{
if (Reg!=NULL)delete Reg;
}
Материал подготовил - [ArtuR] 2007
www.builderhelper.org
builder.helper@rambler.ru