![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как связать расширение с прогой? [D6, Win95/98, Win2k]
Intell © (2003-04-19 19:09:00)У меня плеер, нужно, чтобы медиа открывалось через него. Как в Winamp`е - открылось и заиграло...
Intell (2003-05-27 11:23:00) [1]Rocker, огромное спасибо, сработало! Испробовал исходник только вчера.
Intell (2003-04-21 12:30:00) [2]Rocker, посмотрю и заценю. Спасибо за ответ.
Rocker (2003-04-21 07:24:00) [3]Нужно зарегистрировать это расширение ("ext"). Для этого в реестре нужно создать два раздела. Первый HKEY_CLASSES_ROOT\.ext. В нем, в параметре "по умолчанию" нужно написать "MyProg". В разделе KEY_CLASSES_ROOT\MyProg "по умолчанию" поставь "Файл моей программы". Эта фраза будет отображаться в Проводнике в колонке "Тип". А в HKEY_CLASSES_ROOT\MyProg\Shell\Open\Command напиши "С:\MyProg.exe "%1"".
А при запуске программы проверяй, нет ли в параметрах имени файла, а если есть, то открой этот файл.
uses Registry;
procedure TForm1.FormCreate(Sender: TObject);
var
Reg: TRegistry;
FileName: string;
begin
Reg := nil;
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey("\.ext", true);
Reg.WriteString("", "MyProg");
Reg.CloseKey;
Reg.OpenKey("\MyProg", true);
Reg.WriteString("", "My document");
Reg.CloseKey;
Reg.OpenKey("\MyProg\Shell\Open\Command", true);
Reg.WriteString("", ParamStr(0) + " "%1"");
Reg.CloseKey;
Reg.OpenKey("\MyProg\DefaultIcon", true);
Reg.WriteString("", ParamStr(0) + ", 1");
Reg.CloseKey;
finally
if Assigned(Reg) then Reg.Destroy;
end;
if ParamCount > 0 then begin
FileName := ParamStr(1);
if FileExists(FileName)
then Memo1.Lines.LoadFromFile(FileName)
else ShowMessage(FileName + " не существует");
end;
end;
Spartak (2003-04-21 07:14:00) [4]Посмотри на http://delphibase.endimus.com/там точно есть
Intell (2003-04-20 10:28:00) [5]Больная тема - FAQ...
Kair (2003-04-19 21:32:00) [6]Программа должна сама уметь автоматически проигрывать при открытии.
А расширение связывается в реестре.
Может в FAQ про это есть.