Вниз
Скачать: CL | DM;

Регистрация своего типа файлов в Windows   Найти похожие ветки 

← →
KIR ©   (2002-10-18 11:25) [0]

Народ, как исполняется сабж? Хотелось бы чтоб файлы имеющие расширение, например *.ttt, имели свои значки. И еще нужно чтоб по клику на них запускалась прога...


← →
ZZ ©   (2002-10-18 11:28) [1]

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


← →
KIR ©   (2002-10-18 12:14) [2]

Какой молодец!!!


← →
Anatoly Podgoretsky ©   (2002-10-18 12:19) [3]

А для начала посмотреть секцию HKEY/Classes не судьба


← →
Dr.UFO_51   (2002-10-18 13:21) [4]

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


← →
KIR ©   (2002-10-22 13:45) [5]

Еще вопрос по теме: насколько я понял, строка WriteString(Ext+"\DefaultIcon","",ProgPath); отвечает за назначение пиктограммы новому типу файлов, а как сделать чтобы эта картинка не совпадала с пиктограммой самого приложения, но находилаль бы в exe"шнике?


← →
Дремучий ©   (2002-10-22 13:50) [6]


> Регистрация своего типа файлов в 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-24 11:07) [7]

>Дремучий. Может я чего не понимаю, но в Вашем примере я не нашел ответа на вопрос, как сопоставить типу файлов определенную пиктограмму, находящуюся в exe"шнике?


← →
DieHard ©   (2002-10-24 11:22) [8]

WriteString(Ext+"\DefaultIcon","",ProgPath+","+IntToStr(IndexOfIcon));
см. реестр...


← →
KIR ©   (2002-10-24 12:06) [9]

>DieHard WriteString(Ext+"\DefaultIcon","",ProgPath+","+IntToStr(IndexOfIcon));

С этим-то я разобрался, вроде даже разобрался, как bmp пихнуть в exe"шник. Только после того, как я пихаю bmp в exe"шник в нем все равно остается только иконка с индексом 0 (стандартный дельфийский значок). Может надо bmp перевести в ico?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-11277
Valeris
2002-10-23 10:31
2002.11.04
Имя TComponent в качестве переменной?


7-11508
UWater
2002-09-01 16:54
2002.11.04
Серийный номер жесткого диска


1-11242
Beglec
2002-10-23 02:30
2002.11.04
Интересный косяк


3-11113
Alex_000
2002-10-16 12:42
2002.11.04
Вопрос по SQL-оператору INSERT


3-11096
Стас
2002-10-10 08:20
2002.11.04
BDE+Paradox или ADO+Access




   Наверх