Вопрос: Как програмно зарегистрировать расширение файлов?
Хотелось бы чтобы при двойном-клике на файлах, стартовала бы моя прога и в нее загружался этот файл.
Ответ :
Данный пример регистрирует расширение 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
--------------------------------------------------------------------------------
(c) 2003 Borland X Portal
|