Fonctions & procédures traitant le registre

Contenu du snippet

Ce code a été rédigé alors que je débutais en Delphi. Il n'estplus d'actualité pour moi mais je le laisse éventuellement. Pour les débutant peut-être que ce code les aidera à se lancer.

A la suite de problème avec la manipulation du registre via une dll et puisque personne sur le forum ne semblait pouvoir me fournir une réponse voici un code qui crée une clé dans la base de registre via une dll.
Il y a dejà des codes sources traitant de cela mais pas via une dll.
Car mon prog, tout dans une app, ça marche mais le fait de migrer la procédure vers une dll ça marche pas.
La raison est simple, il faut pouvoir connaître les constantes HKEY_CURRENT_USER, ... de plus il faut faire attention à ne pas surcharger certaines fonction.

Source / Exemple :


//Dans la dll :
//**********

const HKEY_LOCAL_MACHINE = 2147483650;
const HKEY_CURRENT_CONFIG = 2147483653;
const HKEY_CURRENT_USER = 2147483649;
const HKEY_DYN_DATA = 2147483654;

//Crée une clé dans la clé racine spécifié
function Reg_Create_Key(Key: string): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  Reg.OpenKey ('Software\',false);
  Reg_Create_Key := Reg.CreateKey(Key);
  Reg.CloseKey();
  Reg.Free;
end;

exports
          Reg_Create_Key;

//Dans l'application

//implémentation de la dll dans le projet
function Reg_Create_Key(Key:string):boolean;external 'LP_BASE_REGISTRE.DLL';

//Appel de la fonction de la dll
procedure TForm1.FormCreate(Sender: TObject);
begin
     Reg_Create_Key('LP');
end;

//Attention la fonction RegCreateKey existe déjà pour delphi c'est pourquoi j'utilise le underscore '_'

Conclusion :


Le code est simple, à la création de la form, nous appelons la procédure qui crée une clé dans le registre.
Niveau :
HKEY_CURRENT_USER\Software\LP

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.