![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
иконка для нового типа файлов [D6, D7, 2000, XP, 2003]
Officeman © (2007-06-19 08:44:00)Добрый день уважаемые мастера!
При первом запуске Приложение регистрирует в реестре виндовс собственный тип файлов *.pl изображение иконки собственного типа файлов использую такое-же как у самой программы. Как использовать другие? (из внешнего файла icon2.ico)
Officeman (2007-06-19 10:47:00) [1]тут ?
Reg.OpenKey('TXT2fileDefaultIcon', True);
Reg.WriteString('',?????????????????????????????? + ',0');
??????? - путь к файлу иконки ?
Officeman (2007-06-19 10:37:00) [2]понято. ;)
ниже пример взятый из интернета.
объясните где прописать путь к изображению иконки
----- Регистрация своего типа файлов -----------
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.txt2' , True);
Reg.WriteString('', 'TXT2file');
Reg.CloseKey;
Reg.OpenKey('TXT2fileDefaultIcon', True);
Reg.WriteString('', Application.ExeName + ',0');
Reg.CloseKey;
Reg.OpenKey('TXT2fileshellopencommand', True);
Reg.WriteString('', Application.ExeName + ' "%1"');
Reg.CloseKey;
Reg.Free;
end;
------------------------------------------------
---------- Пункт в контекстном меню ------------
uses Registry;
procedure AddToContext(FileExt, text : string);
// FileExt - расширение типа файлов без точки вначале!
var R : TRegistry;
s : string;
begin
r := TRegistry.Create;
r.RootKey := HKEY_LOCAL_MACHINE;
r.OpenKey('SoftwareClasses',false);
if not (r.KeyExists('.'+FileExt)) then
begin
ShowMessage('Такой тип файлов не найден.');
Exit;
end
else
r.OpenKey('.'+FileExt,true);
s := r.ReadString('');
ShowMessage(s);
r.CloseKey;
r.OpenKey('SoftwareClasses',false);
r.OpenKey(s,true);
r.OpenKey('shell',true);
r.OpenKey('Crypt', true);
r.WriteString('',text)
r.OpenKey('command',true);
r.WriteString('',Application.ExeName + '"%1"');
r.CloseKey;
r.Free;
end;
Однокамушкин (2007-06-19 09:10:00) [3]Да точно так же, в общем-то... только вместо имени exe-файла надо писать в реестр имя ico-файла...