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

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

открытие файла своей прогой [D7, XP]


Der Neck@ssoff ©   (2006-03-05 11:41:00) 

Здраствуйте! У меня вот в чем косяк: с помощью моей проги я сделал ранее не существовавший тип файла(он текстовый) и я хочу что бы он по умолчанию открывался через мою прогу(такая вещь как указание на ехе-шник через свойства файла не катит).Заранее спасибо.


АРІ   (2006-03-05 13:02:00) [1]

Не совсем понял: " такая вещь как указание на ехе-шник через свойства файла не катит".

Попробуйте так:


uses
 Registry;

procedure RegFileExtension(AExt, AInnerName, ADescription, AIconPath,
                                                         AApplication: string);
var
 Reg: TRegistry;
begin
 Reg := TRegistry.Create;
 try
   // Регистрация типа файла
   Reg.RootKey := HKEY_CLASSES_ROOT;
   Reg.OpenKey(AExt, true);
   Reg.WriteString('', AInnerName);
   Reg.CloseKey;

   // Регистрация описания...
   Reg.OpenKey(AInnerName, true);
   Reg.WriteString('', ADescription);
   // ...и иконки
   // Если файла приложения не будет "на месте" -
   // будет отображена стандартная иконка для незарегистрированных типов файлов
   Reg.OpenKey('DefaultIcon', true);
   Reg.WriteString('', AIconPath);
   Reg.CloseKey;

   // Регистрация приложения, используемого для открытия файла
   // Если на момент попытки открытия файла с расширением *.text,
   // файла приложения не будет "на месте" - оболочка ОС (XP) предложит
   // выбрать другое приложение
   Reg.OpenKey(AInnerName, true);
   Reg.OpenKey('shell\open\command', true);
   Reg.WriteString('', AApplication);
   Reg.CloseKey;
 finally
   Reg.Free;
 end;
end;


и использование:

 
RegFileExtension('.text',
                      'MyTextFile',
                      'Мой текстовый файл',
                      'c:\MyApplication.exe,0',
                      'c:\Myapplication.exe %1');


Возможно, это то, о чем Вы говорите.


Alarm   (2006-03-05 12:18:00) [2]

Попробуй дать "ранее не существующему типу файла" свое (отличное от стандартных) расширение. Думаю проблема снимется


Наверх

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