![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регистрация типов файлов [D7, WinME]
clampo © (2004-10-03 21:33:00)Привет всем мастерам!!! :).
Взял я этот код из FAQ. Но он работает с недостатками:
1) При регистрации на файл pci ставиться значок приложения,
как сделать чтобы поставить свой значок (н\р зи папки с этим приложением).
2) Регистрируются только неизвестные типы файлов, а если раньше они были под другой прогой то так и остаются под ней.
3) Какая процедура нужна для дерегистрации файлов.
Помогите решить вопросы
//Use the registry to register your own filetype.
uses registry;
procedure TForm1.RegisterFileType(prefix:String; exepfad:String);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
//create a new key --> .pci
reg.OpenKey('.'+prefix,True);
//create a new value for this key --> pcifile
reg.WriteString('',prefix+'file');
reg.CloseKey;
//create a new key --> pcifile
reg.CreateKey(prefix+'file');
//create a new key pcifile\DefaultIcon
reg.OpenKey(prefix+'file\DefaultIcon',True);
//and create a value where the icon is stored --> c:\project1.exe,0
reg.WriteString('',exepfad+',0');
reg.CloseKey;
reg.OpenKey(prefix+'file\shell\open\command',True);
//create value where exefile is stored --> c:\project1.exe "%1"
reg.WriteString('',exepfad+' "%1"');
reg.CloseKey;
reg.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterFileType('pci','c:\project1.exe');
end;
clampo (2004-10-06 10:21:00) [1]Что такое инициализация приложения. Может это файл *.dpr ?
XProger (2004-10-05 23:02:00) [2]
reg:=TRegistry.Create; //Создаём переменную реестра
reg.RootKey:=HKEY_CLASSES_ROOT;
reg.OpenKey('\.POD\',true); //Создаём "ключ" (если его нет)
reg.WriteString('','PODEditor'); //Строка по умолчанию
reg.OpenKey('\PODEditor\DefaultIcon\',true); //Берём иконку файла из
reg.WriteString('',ParamStr(0)+',0'); //EXE'шника проги
reg.OpenKey('\PODEditor\shell\open\command\',true); //Открываем ключ команд
reg.WriteString('',ParamStr(0)+' %1'); //Прописываем путь к EXE'шнику
reg.CloseKey; //Закрываем "ключ"
reg.Free; //Удаляем переменную реестра
Вставляй в инициализацию приложения...
clampo (2004-10-04 15:29:00) [3]Что такое "1.3"
П7 (2004-10-04 13:24:00) [4]смотри 1.3
clampo (2004-10-04 12:46:00) [5]А как зарегистрировать те типы файлов которые раньше были под другой прогой. Значок меняется а регистрации под мою прогу нет.
GuAV (2004-10-03 22:01:00) [6]1)
reg.OpenKey(prefix+'file\DefaultIcon',True); //and create a value where the icon is stored --> c:\project1.exe,0
reg.WriteString('', 'c:\my.ico');
или писать Icon Handler
3) Удалить все созданные ключи