Главная | Регистрация | Вход
Среда, 06.08.2025, 15:05
Приветствую Вас Гость | RSS
Навигация:
Категории:
Базы данных [9]
Графика и Игры [0]
Интернет и Сети [0]
Компоненты и Классы [0]
Мультимедиа [0]
ОС и Железо [0]
Программа и Интерфейс [0]
Технологии [0]
Файловая система [0]
Программирование на Delphi [23]
Обучающие статьи [26]
Небольшие уроки по Delphi
Синтаксис [0]
Рабочий стол [0]
qwerty [0]
Чат сайта:
Главная » Статьи » Программирование на Delphi

Зарегистрировать расширение
Чтобы Windows открывала файлы с расширением "EXT" Вашей программой нужно зарегистрировать это расширение. Для этого в реестре нужно создать два раздела. Первый HKEY_CLASSES_ROOT\.ext. В нем, в параметре "по умолчанию" нужно написать "MyProg". В разделе KEY_CLASSES_ROOT\MyProg "по умолчанию" поставьте "Файл моей программы". Эта фраза будет отображаться в Проводнике в колонке "Тип". А в HKEY_CLASSES_ROOT\MyProg\Shell\Open\Command напишите "С:\MyProg.exe "%1"".

А при запуске программы проверяйте, нет ли в параметрах имени файла, а если есть, то откройте этот файл.

Code


uses Registry;

procedure TForm1.FormCreate(Sender: TObject);
var
Reg: TRegistry;
FileName: string;  
begin
Reg := nil;
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.ext', true);
Reg.WriteString('', 'MyProg');
Reg.CloseKey;
Reg.OpenKey('MyProg', true);
Reg.WriteString('', 'My document');
Reg.CloseKey;
Reg.OpenKey('MyProgShellOpenCommand', true);
Reg.WriteString('', ParamStr(0) + ' "%1"');
Reg.CloseKey;
Reg.OpenKey('MyProgDefaultIcon', true);
Reg.WriteString('', ParamStr(0) + ', 1');
Reg.CloseKey;
finally
if Assigned(Reg) then Reg.Destroy;
end;
if ParamCount > 0 then begin
FileName := ParamStr(1);
if FileExists(FileName)
then Memo1.Lines.LoadFromFile(FileName)
else ShowMessage(FileName + ' не существует');
end;
end;

Категория: Программирование на Delphi | Добавил: NekitoS (19.04.2009)
Просмотров: 751 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Контакты
ICQ:306182
Статистика
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Copyright "Delphi Project Ltd" © 2025