Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Регистрация типа файлов в системе и их запуск [D7, WinXP]


Vasek ©   (2004-03-11 15:21:00) 

Уважаемые мастера!
Что необходимо сделать чтобы зарегистрировать свой тип файлов в системе, и какая процедура в моей программе должна вызываться при клике на этом типе файлов.
Буду очень благодарен за пример.


Никто   (2004-03-12 02:28:00) [1]

Вот простой пример:

Я хочу сделать чтобы при вызове документа из проводника Win запускалось мое приложение и открывало данный документ (обычный текстовый файл , но с расширением *.my)

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  StdCtrls, ExtCtrls,Registry;

type
 TForm1 = class(TForm)
   Memo1: TMemo;
   Label1: TLabel;
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
Reg:TRegistry;
begin
// Регистрация типа файлов *.my
Reg := TRegistry.Create;
Reg.LazyWrite:=False;
 try
    Reg.RootKey:=HKEY_CLASSES_ROOT;
   if Reg.OpenKey('\myfile\shell\open\command\', True)
   then begin
     Reg.WriteString('','"' + ParamStr(0) + '" "%1"');
     Reg.CloseKey;
   end;
   if Reg.OpenKey('.my', True)
   then begin
     Reg.WriteString('','myfile');
     Reg.CloseKey;
   end;
 finally
   Reg.Free;
end;
//действия при клике на файлах *.my
for i:=0 to ParamCount do
 Label1.Caption:=Label1.Caption+(ParamStr(i))+#13;
if ParamStr(1)<>'' then Memo1.Lines.LoadFromFile(ParamStr(1));
end;
end.


Vasek   (2004-03-11 15:52:00) [2]

Ну неможет быть что-бы НЕКТО не знал! Помогите пожалуйста!


Наверх

Титульная страница Поиск, карта сайта Написать письмо