![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Регистрация своего типа файлов в Windows
KIR © (2002-10-18 11:25:00)Народ, как исполняется сабж? Хотелось бы чтоб файлы имеющие расширение, например *.ttt, имели свои значки. И еще нужно чтоб по клику на них запускалась прога...
KIR (2002-10-24 12:06:00) [1]>DieHard WriteString(Ext+"\DefaultIcon","",ProgPath+","+IntToStr(IndexOfIcon));
С этим-то я разобрался, вроде даже разобрался, как bmp пихнуть в exe"шник. Только после того, как я пихаю bmp в exe"шник в нем все равно остается только иконка с индексом 0 (стандартный дельфийский значок). Может надо bmp перевести в ico?
DieHard (2002-10-24 11:22:00) [2]WriteString(Ext+"\DefaultIcon","",ProgPath+","+IntToStr(IndexOfIcon));
см. реестр...
KIR (2002-10-24 11:07:00) [3]>Дремучий. Может я чего не понимаю, но в Вашем примере я не нашел ответа на вопрос, как сопоставить типу файлов определенную пиктограмму, находящуюся в exe"шнике?
Дремучий (2002-10-22 13:50:00) [4]
> Регистрация своего типа файлов в Windows
смотри готовое решение в UBPFD
http://delphibase.endimus.com/?action=viewtopic&topic=sysiface
Регистрирование собственного расширения файлов
procedure RegisterExtensions(InArr: array of string; FilePath, Key: string);
Прислал: ION T (Киев) ( 3 июня 2002 г. )
Сопоставление приложению файлов определенного типа
procedure RegisterFileType(prefix:string; exepfad:string; IconIndex:byte);
Прислал: Дремучий ( 10 мая 2002 г. )
:))
там есть еще много чего интересного.
Читайте и присылайте.
:))
KIR (2002-10-22 13:45:00) [5]Еще вопрос по теме: насколько я понял, строка WriteString(Ext+"\DefaultIcon","",ProgPath); отвечает за назначение пиктограммы новому типу файлов, а как сделать чтобы эта картинка не совпадала с пиктограммой самого приложения, но находилаль бы в exe"шнике?
Dr.UFO_51 (2002-10-18 13:21:00) [6]1)Вот тебе процедурка. Смотри сюды : в ProgPath пишишь путь к программе ("c:\prog\UFO.exe"), в Ext Разрешение (.ttt)
Например : RegType("c:\prog\UFO.exe",".ttt");
2)Paramstr(1) возвращяет имя запускаемого файла.
Например : На криат пишешь :
if Paramstr(1)<>"" then
memo1.loadfromFile(Paramstr(1));
/////////////////////////////////////////////////
procedure RegType(ProgPath:string;Ext:string);
var
R : TRegIniFile;
begin
R := TRegIniFile.Create("");
with R do
begin
RootKey := HKEY_CLASSES_ROOT;
WriteString("."+Ext,"",Ext);
WriteString(Ext,"","ArrBuzz ""+Ext+"" type");
WriteString(Ext+"\DefaultIcon","",ProgPath);
WriteString(Ext+"\Shell","","This_Is_Our_Default_Action");
WriteString(Ext+"\Shell\First_Action",
"","This is our first action");
WriteString(Ext+"\Shell\First_Action\command","",
ProgPath+" /LotsOfParamaters %1");
WriteString(Ext+"\Shell\This_Is_Our_Default_Action","",
"This is our default action");
WriteString(Ext+"\Shell\This_Is_Our_Default_Action\command",
"",ProgPath+" %1");
WriteString(Ext+"\Shell\Second_Action",
"","This is our second action");
WriteString(Ext+"\Shell\Second_Action\command",
"",ProgPath+" /TonsOfParameters %1");
Free;
end;
end;
///////////////////////////////////////////////////////
По вопросам можешь обратиться на CivUFO@mail.ru
Anatoly Podgoretsky (2002-10-18 12:19:00) [7]А для начала посмотреть секцию HKEY/Classes не судьба
KIR (2002-10-18 12:14:00) [8]Какой молодец!!!
ZZ (2002-10-18 11:28:00) [9]FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ FAQ