Вопрос: Как программно зарегистрировать собственное расширение для файлов в 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, то иконка файла будет показана вторая. 
Я так делал для возможности выбора оной из множества. 


--------------------------------------------------------------------------------

	

Электронные Книги по компьютерным программам
На правах рекламы:
Логин
Пароль
Запомнить меня