Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Не знаю технологии 


Beginner   (2002-03-30 15:44) [0]

Как сделать вызов моей программы и открытие ею файла при клике на этот файл в винде?



Anatoly Podgoretsky   (2002-03-30 15:46) [1]

Эта технология называется "ассоциации", открой реестр и посмотри ключ classes, там все понятно.



olookin   (2002-04-02 16:13) [2]

Вот как я это сделал. В этом коде в реестре прописывается моя программа и ассоциируются с нею файлы.

procedure PutDataToRegistry(var IniFile: IniFileRecord);
var Reg: TRegistry;
i: integer;
begin
if IniFile.UpdateFlag then begin
IniFile.UpdateFlag:=false; Reg:=TRegistry.Create;
with Reg do begin RootKey:=HKEY_LOCAL_MACHINE; LazyWrite:=False;
for i:=0 to Length(IniFile.EqapFile)-1 do begin
if KeyExists("\Software\Classes\."+IniFile.EqapFile[i]) then begin
OpenKey("\Software\Classes\."+IniFile.EqapFile[i],true);
WriteString("",IniFile.EqapFile[i]+"file");
OpenKey("\Software\Classes\"+IniFile.EqapFile[i]+"file",true);
OpenKey("\Software\Classes\"+IniFile.EqapFile[i]+"file\DefaultIcon",true);
WriteString("",Application.ExeName+",0");
OpenKey("\Software\Classes\"+IniFile.EqapFile[i]+"file\Shell",true);
OpenKey("\Software\Classes\"+IniFile.EqapFile[i]+"file\Shell\open",true);
OpenKey("\Software\Classes\"+IniFile.EqapFile[i]+"file\Shell\open\command",true);
WriteString("",Application.ExeName+" %1"); CloseKey; end; end;
CloseKey; end; Reg.Free; end;
end;

Inifile.EqapFile - это массив, состоящий из кучки расширений, например: "qqq","qqq1","qqq2" и т.д. без учета разделителя имени и расширения.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.118 c
1-46379           Death Soul            2002-04-01 22:22  2002.04.15  
RTTI при использовании динамических объектов


14-46519          DPro                  2002-03-06 13:35  2002.04.15  
Дорогие Мастера!


1-46436           Socrat                2002-04-02 05:32  2002.04.15  
От чего зависит доступность кнопок печати в QuickReports Preview?


3-46293           Serg!                 2002-03-22 19:04  2002.04.15  
ким образом можно динамически подгужать данные из select-запроса?


3-46224           Евгений-Зеленоград    2002-03-05 23:06  2002.04.15  
Базы данных без BDE - EASY TABLE!