begin process at 2010 02 10 09:51:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Exécution

 > ASSOCIER UN PROGRAMME À UNE EXTENSION, AVEC ICONE ET NOM

ASSOCIER UN PROGRAMME À UNE EXTENSION, AVEC ICONE ET NOM


 Information sur la source

Note :
7,5 / 10 - par 4 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Exécution Niveau :Débutant Date de création :08/09/2002 Date de mise à jour :08/09/2002 22:48:41 Vu / téléchargé :6 981 / 344

Auteur : Nono40

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

C'est en réponse à une question du forum.

Ce programme montre les clefs du registre à modifier pour associer un programe à une extension. Il permet aussi d'ajouter une icone à l'extension.

Source

  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls, ExtDlgs;
  • type
  • TForm1 = class(TForm)
  • btnCreer: TButton;
  • btnModifierIcone: TButton;
  • btnSupprimer: TButton;
  • Ouvrir: TOpenPictureDialog;
  • procedure btnCreerClick(Sender: TObject);
  • procedure btnSupprimerClick(Sender: TObject);
  • procedure btnModifierIconeClick(Sender: TObject);
  • procedure FormCreate(Sender: TObject);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • implementation
  • {$R *.dfm}
  • Uses Registry;
  • Procedure TForm1.btnCreerClick(Sender: TObject);
  • Var Registre:TRegistry;
  • Begin
  • Registre:= TRegistry.Create;
  • With Registre Do Try
  • RootKey := HKEY_CLASSES_ROOT;
  • OpenKey('NonoFile',True);
  • WriteString('','Les fichiers de Nono');
  • CloseKey;
  • OpenKey('NonoFile\shell\open\command',True);
  • WriteString('',Application.ExeName+' %1');
  • CloseKey;
  • OpenKey('.Nono',True);
  • WriteString('','NonoFile');
  • CloseKey;
  • Finally
  • Free;
  • End;
  • End;
  • procedure TForm1.btnSupprimerClick(Sender: TObject);
  • Var Registre:TRegistry;
  • Begin
  • Registre:= TRegistry.Create;
  • With Registre Do Try
  • RootKey := HKEY_CLASSES_ROOT;
  • DeleteKey('NonoFile');
  • DeleteKey('.Nono');
  • Finally
  • Free;
  • End;
  • end;
  • procedure TForm1.btnModifierIconeClick(Sender: TObject);
  • Var Registre:TRegistry;
  • Begin
  • If Not Ouvrir.Execute Then Exit;
  • Registre:= TRegistry.Create;
  • With Registre Do Try
  • RootKey := HKEY_CLASSES_ROOT;
  • OpenKey('NonoFile\DefaultIcon',True);
  • WriteString('',Ouvrir.FileName);
  • CloseKey;
  • Finally
  • Free;
  • End;
  • end;
  • procedure TForm1.FormCreate(Sender: TObject);
  • begin
  • If ParamStr(1)<>'' Then ShowMessage('Vous avez sélectionner le fichier :'#13+ParamStr(1));
  • end;
  • end.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtDlgs;

type
  TForm1 = class(TForm)
    btnCreer: TButton;
    btnModifierIcone: TButton;
    btnSupprimer: TButton;
    Ouvrir: TOpenPictureDialog;
    procedure btnCreerClick(Sender: TObject);
    procedure btnSupprimerClick(Sender: TObject);
    procedure btnModifierIconeClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Uses Registry;

Procedure TForm1.btnCreerClick(Sender: TObject);
Var Registre:TRegistry;
Begin
  Registre:= TRegistry.Create;
  With Registre Do Try
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('NonoFile',True);
    WriteString('','Les fichiers de Nono');
    CloseKey;
    OpenKey('NonoFile\shell\open\command',True);
    WriteString('',Application.ExeName+' %1');
    CloseKey;
    OpenKey('.Nono',True);
    WriteString('','NonoFile');
    CloseKey;
  Finally
    Free;
  End;
End;

procedure TForm1.btnSupprimerClick(Sender: TObject);
Var Registre:TRegistry;
Begin
  Registre:= TRegistry.Create;
  With Registre Do Try
    RootKey := HKEY_CLASSES_ROOT;
    DeleteKey('NonoFile');
    DeleteKey('.Nono');
  Finally
    Free;
  End;
end;

procedure TForm1.btnModifierIconeClick(Sender: TObject);
Var Registre:TRegistry;
Begin
  If Not Ouvrir.Execute Then Exit;
  Registre:= TRegistry.Create;
  With Registre Do Try
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('NonoFile\DefaultIcon',True);
    WriteString('',Ouvrir.FileName);
    CloseKey;
  Finally
    Free;
  End;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  If ParamStr(1)<>'' Then ShowMessage('Vous avez sélectionner le fichier :'#13+ParamStr(1));
end;

end.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec une capture TAUX D'OCCUPATION DU PROCESSEUR
Source avec Zip SYNCHRONISER DEUX LISTBOX
Source avec Zip Source avec une capture SUPPRIMER LE SCINTILLEMENT AVEC DOUBLEBUFFERED
SETFOCUS SUR UN BOUTON D'UN RADIOGROUP
Source avec Zip DESSINER DANS LE SYSTRAY AVEC CREATEICON

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE JET DE DÉS par koriteki
Source avec Zip Source avec une capture LES FIBERS : DES THREADS NON PRÉEMPTÉS PAR LE SYSTÈME par Caribensila
Source avec Zip Source avec une capture UAC (USER ACCOUNT CONTROL) - EXÉCUTER UNE APPLICATION EN TAN... par ni69
BLOQUER LE TASKMGR SANS CLÉ DE REGISTRE par craftsystem
Source avec Zip UTILISER LES MESSAGES WINDOWS POUR GERER LE NOMBRE D'INSTANC... par lotfi213_b19

Commentaires et avis

Commentaire de Delphiprog le 08/09/2002 23:08:10 administrateur CS

Es-tu sûr que WriteString('','Les fichiers de Nono'); soit utile (dans btnCreerClick), vu que tu réécris la valeur par défaut de la clé plus bas ?
Enfin, c'est juste mon avis..et félicitations pour lé réactivvité.

Commentaire de Nono40 le 08/09/2002 23:18:54

Ben, il me semble que oui c'est utile... Je n'écris pas deux fois la même valeur par défaut de la même clef. '.Nono' contient la valeur du nom virtuel du programme soit "NonoFile". Le nom virtuel contient la commande dans la sous clef 'shell...' et le nom qui apparait dans la colonne 'Type' de l'explorateur est la valeur par défaut de la clef 'NonoFile'...
Je me suis peut-être trompé, mais dans le registre c'est comme ça pour les autres applis.

Nono.

Commentaire de Bruto le 13/09/2002 15:33:52

Juste une petite question :

pq mettre '%1' dans la ligne
WriteString('',Application.ExeName+' %1');

je ne vois pas trop, pour un paramêtre éventuel ?
sinon bon sujet        

Commentaire de Bruto le 13/09/2002 16:58:14

Devons-nous créer obligatoirement à la racine de HKEY_CLASSES_ROOT ?
Juste pour savoir comme il y a plein de key

Commentaire de Nono40 le 13/09/2002 23:57:52

Pour Bruto :

1/ le %1 est indispensable si tu veux que ton programme sache quel est le fichier sur le quel tu as double-cliqué. Avec le %1 tu trouvera le nom du programme dans ParamStr(1). Sans le %1 tu ne peut pas savoir quel fichier a appelé ton prog !

2/ HKEY_CLASSES_ROOT est LA place ou mettre les extensions, il y en a beaucoups car toutes les applis et windows placent les types de fichiers et de programmes à cet endroit. C'est aussi dans cette liste que l'explorateur trouve les types de fichiers, on n'a donc pas le choix.

Nono.

Commentaire de Bruto le 17/09/2002 11:54:39

Allez voir la version Tools sur http://www.delphifr.com/article.aspx?Val=2031 pour une application détaillée de ce code-source

Commentaire de alexistoulotte le 06/07/2003 06:44:20

D'accord mais comment recuperer tous les fichiers seletionnes dans l'explorateur. (ex: Winamp qui ajoute tous les fichiers selectionnes a sa PayList) ?
Ca m'interersse
Merci

[ASW] Al

Commentaire de ni69 le 26/05/2005 23:25:32

Alexistoulotte, vas voir ma source, elle répond à ta question :
http://www.delphifr.com/code.aspx?ID=31329

@+
Nico

Commentaire de sokoban le 03/06/2005 22:52:40

Bonjour,

Je suis sous W2K, et les sources de ce style marchent très moyennement...

En fait, je suis obligé d'ajouter d'autres trucs dans les HKEY_CURRENT_USER et dans les HKEY_LOCAL_MACHINE pour réussir à faire qqch de potable, sans compter qu'il faut au moins que je ferme la session avant que les icônes soient rafraichies dans l'explorateur windows...

Est-ce que qqn a vraiment étudié le truc en profondeur, avec les MRUList et tout et tout ?

Merci d'avance.
Cordialement,

Ghislain "Sokoban" Martin

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales