BlueGEEK Journal

Accueil > Manip’s > Delphi > ClipTOO > Collection de Clips > Associer une extension à un exécutable

Associer une extension à un exécutable

jeudi 26 juin 2008, par bluegyn_spip

unit jc_REG;



interface



uses

        registry {acces au registre},

 windows {constantes symboliques du registre},

 dialogs {showMessage} ;



Procedure Set_OpenWith (ext , AppName, AppTitle : string ) ;

procedure Remove_OpenWITH ( EXT, AppName, AppTitle : string);



implementation



Procedure Set_OpenWith (ext , AppName, AppTitle : string ) ;



BEGIN



with TRegistry.create do begin

try

 RootKey := HKEY_CLASSES_ROOT;

 if openKey('\.'+ ext ,True) = False then exit;

 WriteString('',AppName);

 if OpenKey('\' + AppName,True) = false then exit;

 WriteString ('',AppTitle );

 if OpenKey('\' +  AppName + '\Shell\Open\Command',True) = False then exit;

 WriteString('','"'+ paramstr(0) + '" "%1"');

finally

 Free;

end; // Try

end; // With



messageDLG('Vous pouvez maintenant cliquer sur un Fichier ' +  ext +#13+

        'Pour le lire dans ' + AppName, mtInformation,[mbOK],0);



END;





procedure Remove_OpenWITH ( EXT, AppName, AppTitle : string);

BEGIN



with TRegistry.create do begin

try

RootKey := HKEY_CLASSES_ROOT;

if openKey('\.' + ext ,False) then begin

        if ReadString('')=AppName then begin

                deleteKey ('\.' + EXT );

        end;

end;



if OpenKey('\'+ AppName ,False) then begin

        if ReadString ('')= AppTitle then begin

         DeleteKey('\' + AppName);

        end;

end;



finally

Free;

end;

end;



messageDLG(

        format('L''extension %s n''est plus associée au %s', [EXT,APPNAME]),

 mtInformation,[mbOK],0);



END;



end.