Сборник часто задаваемых вопросов по программированию в среде Borland C++ Builder

           

Как программно зарегистрировать собственное расширение для файлов в WINDOWS?



Вопрос: Как программно зарегистрировать собственное расширение для файлов в WINDOWS?

Ответ : code: -------------------------------------------------------------------------------- TRegistry *Reg; AnsiString asFileName; Reg = NULL; try { Reg = new TRegistry; Reg->RootKey = HKEY_CLASSES_ROOT; Reg->OpenKey("\\.vdv", true); Reg->WriteString("", "MyProg"); Reg->CloseKey(); Reg->OpenKey("\\MyProg", true); Reg->WriteString("", "My document"); Reg->CloseKey(); Reg->OpenKey("\\MyProg\\Shell\\Open\\Command", true); Reg->WriteString("", ParamStr(0) + " \"%1\""); Reg->CloseKey(); Reg->OpenKey("\\MyProg\\DefaultIcon", true); Reg->WriteString("", ParamStr(0) + ", 1"); Reg->CloseKey(); } __finally { if (Reg != NULL) { delete Reg; } } if (ParamCount > 0) { asFileName = ParamStr(1); if (FileExists(asFileName)) { Memo1->Lines->LoadFromFile(asFileName); } else { ShowMessage(asFileName + " не существует"); } } -------------------------------------------------------------------------------- Этот пример срегистрирует расширение *.vdv И при клике на файл с таким расширением загружает текст из него в Memo1. Reg->OpenKey("\\MyProg\\DefaultIcon", true); Последний параметр имеет не булевый тип, а целочисленный. Определяет номер иконки из .exe. И если, например, будет стоять 2, то иконка файла будет показана вторая. Я так делал для возможности выбора оной из множества. --------------------------------------------------------------------------------

Содержание раздела