Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизПриложение по умолчанию для определенного файла Найти похожие ветки
← →
=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
Расширение - .deffunction 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 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.051 c