![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регистрация своего расширения файла с указанием описания типа.
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;