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

           

Как програмно зарегистрировать...



Вопрос: Как програмно зарегистрировать расширение файлов? Хотелось бы чтобы при двойном-клике на файлах, стартовала бы моя прога и в нее загружался этот файл.

Ответ : Данный пример регистрирует расширение vdv И при клике на файл с таким расширение запускает программу и файл грузится в Memo1. code: -------------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { 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(); Reg->OpenKey("\\.vdv\\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 + " не существует"); } } } -------------------------------------------------------------------------------- Нужно сначала запустить exe файл. Он зарегистрирует расширение. В следующий раз если кликнуть по файлу *.vdv файл будет загружен в Memo1 --------------------------------------------------------------------------------

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