关联文件类型

uses System.Win.Registry,Winapi.ShlObj;

procedure TForm1.Button3Click(Sender: TObject);
begin
  RegisterFileType('ftw',Application.ExeName) ;
end;

procedure RegisterFileType(ExtName:String; AppName:String);
var
   reg:TRegistry;
begin
  reg := TRegistry.Create;
  try
   reg.RootKey := HKEY_CLASSES_ROOT;
   reg.OpenKey('.' + ExtName, True) ;
   reg.WriteString('', ExtName + 'file') ;
   reg.CloseKey;
   reg.CreateKey(ExtName + 'file') ;
   reg.OpenKey(ExtName + 'file\DefaultIcon', True) ;
   reg.WriteString('', AppName + ',0') ;
   reg.CloseKey;
   reg.OpenKey(ExtName + 'file\shell\open\command', True) ;
   reg.WriteString('',AppName+' "%1"') ;
   reg.CloseKey;
  finally
   reg.Free;
  end;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil) ;
end;

 

posted @ 2012-05-18 17:26  ftwsnow  阅读(157)  评论(0)    收藏  举报