Enregistrer sa propre extension de fichier



Pour Enregistrer son extension, il suffit d'écrire dans la base de registre, aux clés:

HKEY_LOCAL_MACHINE\<Extension>\<DefaultKey>
HKEY_LOCAL_MACHINE\<DefaultKey>\Shell\<Caption>\Command

Voici comment faire:

Enregistrer sa propre extension

uses
  Registry;

procedure RegisterExt(Extension, DefaultKey, Caption: string; ForceDefault: boolean);
var
  Registre: TRegistry;
  s: string;
begin
  // Pour s'ajouter au menu contextuel de l'extension
  Registre := TRegistry.Create;
  try
    Registre.RootKey := HKEY_CLASSES_ROOT;
    Registre.OpenKey('\' + Extension, true);
    s := Registre.ReadString('');
    if Length(s) = 0 then
      begin
        // Si le type n'est pas enregistré
        s := DefaultKey;
        Registre.WriteString('', s);
      end;
    if not Registre.KeyExists('\' + s + 'DefaultIcon') then
      begin
        // S'il n'y a pas d'icone par défaut, on met celle de l'application
        Registre.OpenKey('\' + s + 'DefaultIcon', true);
        Registre.WriteString('', ParamStr(0) + ',0'); 
      end;
    if ForceDefault then
      begin
        // Pour forcer l'ouverture avec notre application
        Registre.OpenKey('\' + s + 'Shell', true);
        Registre.WriteString('', Caption);
      end;
    Registre.OpenKey('\' + s + 'Shell' + Caption, true);
    Registre.WriteString('', 'DS&WebEdit');
    Registre.OpenKey('\' + s + 'Shell' + Cation + 'Command', true);
    Registre.WriteString('', '"' + ParamStr(0) + '" "%1"');
  finally
    Registre.Free;
  end;
end;



3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.007 Secs