Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Регистрация своего расширения файла с указанием описания типа.


AlexanderMS ©   (2007-06-02 18:25:00) 

Знаю, как вообще зарегистрировать свой тип файла. Но не знаю, как при регистрации указать текст, который будет отображаться в Проводнике в поле "Тип файла". Посмотрел у некоторых расширений в реестре, там есть свойство PersistentHandler, где указан GUID, и потом отдельно в "папке" под названием этого GUID хранится описание типа.

Может, можно как-нибудь проще это сделать? Если нет, то что, свой GUID генерировать? А вдруг он совпадёт с каким-нибудь ещё на другом компьютере? И вообще есть ли такое право - "забивать" GUID?


AlexanderMS   (2007-06-02 18:43:00) [1]

DVM ©  Большое спасибо!


DVM   (2007-06-02 18:42:00) [2]


> AlexanderMS ©  

да, это тип файла. Там еще замени в одном месте 'Project1.DAT' на 'Project1.ext'


AlexanderMS   (2007-06-02 18:38:00) [3]

"òèï ôàéëà" = "тип файла". Sorry.


AlexanderMS   (2007-06-02 18:36:00) [4]


> 'Ìîé òèï ôàéëà'

Прошу прощения за вопрос: это - тип файла?


DVM   (2007-06-02 18:31:00) [5]


> А вдруг он совпадёт с каким-нибудь ещё на другом компьютере?

это вряд ли.


> И вообще есть ли такое право - "забивать" GUID?

Пожалей его.


procedure RegisterApp;
var
 Reg: TRegistry;
begin
 Reg := Tregistry.Create;
 try
   try
     Reg.RootKey := HKEY_CLASSES_ROOT;
     if Reg.OpenKey('\.ext\', true) then
     begin
       Reg.WriteString('', 'Project1.DAT');
       Reg.CloseKey;
     end;

     if Reg.OpenKey('\Project1.ext\',true) then
     begin
       Reg.WriteString('', 'Ìîé òèï ôàéëà');
       Reg.CloseKey;
     end;

     if Reg.OpenKey('\Project1.ext\shell\open\command\',true) then
     begin
       Reg.WriteString('', '"' + ParamStr(0) +'" "%1"');
       Reg.CloseKey;
     end;

     if Reg.OpenKey('\Project1.ext\DefaultIcon\',true) then
     begin
       Reg.WriteString('', ParamStr(0)+ ',2');
       Reg.CloseKey;
     end;
   
   except
   end;
 finally
   Reg.Free;
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо