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

Приложение по умолчанию для определенного файла   Найти похожие ветки 

← →
=Teddy=   (2007-01-29 09:17) [0]

Есть файл с некоторым расширением .ххх;Как сделать моё приложение по умолчанию для этого файла? Чтобы по щелчку на файл оно загружалось в это приложение.Помогите!


← →
Ega23 ©   (2007-01-29 09:42) [1]


Ftype
Примеры
Приведенная ниже команда:

   ASSOC .pl=PerlScript
   FTYPE PerlScript=perl.exe %1 %*
позволит вызывать сценарий Perl следующим образом:

   script.pl 1 2 3

Если следует исключить необходимость ввода расширений имен файлов, введите следующую команду:

   set PATHEXT=.pl;%PATHEXT%
и сценарий может быть запущен следующим образом:

   script 1 2 3
См. также


← →
GrayFace ©   (2007-01-30 21:07) [2]

Ega23 ©   (29.01.07 9:42) [1]
Что это???

Вроде это можно через какой-то интерфейс, но я делал через реестр:
Имя проги - DefPreview
Расширение - .def
function TForm1.Associated:boolean;
const
 RegName="DefPreview.Def";
 Backup="DefPreview Backup";
var s:string;
begin
 with TRSRegistry.Create do
 try
   RootKey:= HKEY_CLASSES_ROOT;
   Result:= OpenKeyReadOnly("\.def") and Read("", s) and (s=RegName) and
            OpenKeyReadOnly("\"+RegName+"\shell\open\command") and
            Read("", s) and SameText(s, AssociatePath);
 finally
   Free;
 end;
end;

procedure TForm1.Associate;
const
 RegName="DefPreview.Def";
 Backup="DefPreview Backup";
var s:string;
begin
 with TRSRegistry.Create do
 try
   RootKey:=HKEY_CLASSES_ROOT;

   Win32Check(OpenKey("\"+RegName+"\DefaultIcon", true));
   WriteString("", Application.ExeName+",0");
   Win32Check(OpenKey("\"+RegName+"\shell\open\command", true));
   WriteString("", AssociatePath);

   Win32Check(OpenKey("\.def", true));
   if Read("", s) and (s<>RegName) and (s<>"") then
     WriteString(Backup, s);
   WriteString("", RegName);
 finally
   Free;
 end;
end;

procedure TForm1.Unassociate;
const
 RegName="DefPreview.Def";
 Backup="DefPreview Backup";
var s:string;
begin
 with TRSRegistry.Create do
 try
   RootKey:=HKEY_CLASSES_ROOT;
   Win32Check(OpenKey("\.def", true));
   s:=ReadString("");
   if s=RegName then
   begin
     if not Read(Backup, s) then s:="";
     WriteString("", s);
     DeleteValue(Backup);
     DeleteKey("\"+RegName);
   end;
 finally
   Free;
 end;
end;


P.S. тут используется RSRegisrty из http://delphimaster.net/view/15-1169883926/



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

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



Память: 0.45 MB
Время: 0.028 c
2-1170039046
ctal
2007-01-29 05:50
2007.02.18
exel


15-1170157396
Janniy
2007-01-30 14:43
2007.02.18
Вакансия программист Delphi+ MsSQL + ASP.NET


2-1170158201
Long1
2007-01-30 14:56
2007.02.18
Поиск / Исключение / Замена


15-1169848338
cyborg
2007-01-27 00:52
2007.02.18
Куда полетит шарик?


2-1170319304
Itonix
2007-02-01 11:41
2007.02.18
DisplayFormat




   Наверх