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