0/5 (4 avis)
Snippet vu 5 646 fois - Téléchargée 37 fois
//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 '_'
21 août 2002 à 10:55
20 août 2002 à 18:16
les HKEY sont definie dans l'unitée Windows
essaye ce source de dll:
library dllreg;
uses windows, registry;
procedure ecrisreg; stdcall;
var REG :tregistry;
begin
reg := tregistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('DelphiCool', true);
reg.WriteString('site web', 'http://delphicool.developpez.com');
reg.Free;
end;
function litreg:pchar; stdcall;
var REG :tregistry;
s :string;
begin
reg := tregistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.KeyExists('DelphiCool') then
begin
reg.OpenKey('DelphiCool', false);
s := reg.ReadString('site web');
result := pchar(s);
end
else result := '';
reg.Free;
end;
exports ecrisreg, litreg;
end.
20 août 2002 à 16:45
Essai de migrer ton prog d'une app vers une dll tu verras
Le principe de ce source n'est pas de montrer comment écrire dans la base de registre mais surtout de voir la procédure dans une dll et donc les constantes qui permettent un fonctionnement correct.
20 août 2002 à 14:54
car j'ai deja fait des procdure et fonction traitant avec labase des registre et je n'ai eu aucun probleme
je n'ai jamais utilisé les constante comme tu le fait
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.