FileAssociation

From Lazarus wiki
Jump to: navigation, search

English (en) français (fr)

Windows logo - 2012.svg

This article applies to Windows only.

See also: Multiplatform Programming Guide

TFileAssociation

Author: Lainz

Licence: Modified LGPL

Version: 1.0

Description: This unit registers file association for Windows.

Download

GitHub: https://github.com/lainz/FileAssociation

Usage

First install the package. You can drop the component TFileAssociation (FileAssoc unit) that gets installed in the System tab of the IDE.

...
uses
  ...
  FileAssoc;//<-- add fileassociation unit here
 
type
 
...
    { private declarations }
    assoc: TFileAssociation;
...
 
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  assoc := TFileAssociation.Create(Self);//<-- create like a regular component
end;
 
procedure TfrmMain.Button1Click(Sender: TObject);
begin
  assoc.ApplicationName := 'Lazarus IDE';
  assoc.ApplicationDescription := 'RAD for Free Pascal';
 
  // you can change Extension and Action part for each extension you have
 
  assoc.Extension := '.lpr';
  assoc.ExtensionName := 'Lazarus Project';
  assoc.ExtensionIcon := '"C:\lazarus\images\lprfile.ico"';
 
  assoc.Action := '"C:\lazarus\lazarus.exe" "%1"';
  assoc.ActionName := 'Open';
  assoc.ActionIcon := '"C:\lazarus\images\mainicon.ico"';
 
  assoc.RegisterForAllUsers:=True; //<-- you can change it to False and register for current user only
  if assoc.Execute then
  begin
    ShowMessage('OK');
    assoc.ClearIconCache; //<<-- rebuild icons
  end;
end;
 
end.