Connaître le type d'une valeur du registre

Contenu du snippet

Le registre Windows a 3 types de données (string, DWORD, binary), seulement on peut pas toujours savoir a l'avance de quel type sera une valeur. ALors voici un bout de code qui nous retourne le type de valeur.
Créez un nouveau projet, et ajoutez-y 2 Edit.

Source / Exemple :


uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Registry; // Ajouter 'Registry' pour acceder aux fonctions spécifiques au registre

(...)

var
  Form1: TForm1;
  reg: TRegistry; // peut aussi etre déclarer dans la procedure concernée suivant les besoins en portée.

(...)

procedure TForm1.FormCreate(Sender: TObject);
begin
     reg := TRegistry.Create;
     reg.RootKey := HKEY_CURRENT_USER;
     reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', False);

     case reg.GetDataType('StartMenuLogoff') of
          rdUnknown       : Edit1.Text := 'Unknown';
          rdString        : Edit1.Text := 'String';
          rdExpandString  : Edit1.Text := 'ExpandString';
          rdInteger       : Edit1.Text := 'Integer';
          rdBinary        : Edit1.Text := 'Binary';
     end;
     Edit2.Text := IntToStr(reg.ReadInteger('StartMenuLogoff'));
     reg.CloseKey;
     reg.Free;
end;

Conclusion :


Pour plus d'infos, TRegistry dans l'aide de delphi.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.