Bonjour à tous
J’ai trouvé ces routines qui fonctionnent à merveille, mais ce n’est pas tout à fait ce que je cherche :
Pour lire : Cette procédure serait à modifier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Uses Registry; procedure TForm1.Button1Click(Sender: TObject); Var Registre : TRegistry; begin //Récupère l'url de la page de démarrage Registre:=TRegistry.Create; //Crée un objet TRegistry Registre.RootKey:=HKEY_CURRENT_USER; //Définit la clé principale Registre.OpenKey('\Software\Microsoft\Internet Explorer\Main',False); {"OpenKey" ouvre une clé particulière (False signifie que la clé n'est pas crée si elle n'existe pas} Edit1.Text:=Registre.ReadString('Start Page'); //Renvoie un string à partir du nom de la valeur Registre.CloseKey; //Ferme la clé Registre.Free; //Détruit l'objet end;
Pour écrire : Cette procédure me convient juste
Cela fonctionne bien, mais ce que je voudrais, c’est que dès que lance mon programme, on va vérifier si la clé existe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Uses Registry; procedure TForm1.Button2Click(Sender: TObject); Var Registre : TRegistry; begin //Modifie l'url de la page de démarrage Registre:=TRegistry.Create; //Crée un objet TRegistry Registre.RootKey:=HKEY_CURRENT_USER; //Définit la clé principale Registre.OpenKey('\Software\Microsoft\Internet Explorer\Main',False); {"OpenKey" ouvre une clé particulière (False signifie que la clé n'est pas crée si elle n'existe pas} Registre.WriteString('Start Page',Edit1.Text); //Stocke le contenu de Edit1 dans "Start Page" Registre.CloseKey; //Ferme la clé Registre.Free; //Détruit l'objet end;
Oui, on récupère la valeur
Non, on nous dirige vers la routine écrire.
Donc, ce que je cherche, de ne pas passer par TForm1.Button1Click(Sender: TObject);
J’ai vu qu’on peut utiliser KeyExists, mais je ne trouve pas la solution.
Merci pour votre aide.
Partager