|
|
|
|
- Types des données écrites
- Manipulation de la base de registre sous Windows Vista (et supérieur)
- Limites de la fonction RegistreEcrit
RegistreEcrit (Fonction) En anglais : RegistrySetValue Écrit une valeur dans un registre de la base de registre de Windows. Attention : La clé doit exister pour pouvoir y écrire une valeur. Pour créer une clé, utilisez la fonction RegistreCréeClé. // Écrire la valeur "English" dans la valeur "Langage" // dans la clé "HKEY_CURRENT_USER\SOFTWARE\MonAppli" ResEcriture = RegistreEcrit("HKEY_CURRENT_USER\SOFTWARE\MonAppli", ... "Langage", "English")
Syntaxe
Écrire une valeur identifiée par son nom dans une base de registre Masquer les détails
<Résultat> = RegistreEcrit([<Mode d'accès>, ] <Chemin de la clé> , <Nom de la valeur> , <Valeur> [, <Longueur>])
<Résultat> : Booléen - Vrai si la valeur a été écrite,
- Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Mode d'accès> : Constante de type Entier Mode d'accès à la base de registre :
| | registreMode32 | Mode d'accès forcé pour accéder à la base de registre comme un programme 32 bits. | registreMode64 | Mode d'accès forcé pour accéder à la base de registre comme un programme 64 bits. | registreModeAuto (Valeur par défaut) | Mode d'accès à la base de registre automatique : - une application 32 bits exécutée sur un système 32 bits manipule la base de registre comme un programme 32 bits.
- une application 32 bits exécutée sur un système 64 bits manipule la base de registre à partir de la branche suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node - une application 64 bits exécutée sur un système 64 bits manipule la base de registre comme un programme 64 bits.
|
<Chemin de la clé> : Chaîne de caractères Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur. <Nom de la valeur> : Chaîne de caractères Nom de la valeur à écrire. Si la valeur n'existe pas, elle sera créée. <Valeur> : Chaîne de caractères, entier, réel ou pointeur Valeur à écrire. Cette valeur ne doit pas correspondre directement à un champ de saisie numérique par exemple. Il est nécessaire d'utiliser une variable typée (déclarée en tant que réel, chaîne de caractères, ...). <Longueur> : Entier optionnel Longueur de la valeur à écrire lorsque le paramètre <Valeur> correspond à un pointeur.
Écrire une valeur typée identifiée par son nom dans une base de registre Masquer les détails
<Résultat> = RegistreEcrit([<Mode d'accès>, ] <Chemin de la clé> , <Nom de la valeur> , <Valeur> , <Type de la valeur>)
<Résultat> : Booléen - Vrai si la valeur a été écrite,
- Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Mode d'accès> : Constante de type Entier Mode d'accès à la base de registre :
| | registreMode32 | Mode d'accès forcé pour accéder à la base de registre comme un programme 32 bits. | registreMode64 | Mode d'accès forcé pour accéder à la base de registre comme un programme 64 bits. | registreModeAuto (Valeur par défaut) | Mode d'accès à la base de registre automatique : - une application 32 bits exécutée sur un système 32 bits manipule la base de registre comme un programme 32 bits.
- une application 32 bits exécutée sur un système 64 bits manipule la base de registre à partir de la branche suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node - une application 64 bits exécutée sur un système 64 bits manipule la base de registre comme un programme 64 bits.
|
<Chemin de la clé> : Chaîne de caractères Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur. <Nom de la valeur> : Chaîne de caractères Nom de la valeur à écrire. Si la valeur n'existe pas, elle sera créée. <Valeur> : Chaîne de caractères, entier, réel ou pointeur Valeur à écrire. Si le paramètre <Type de la valeur> est utilisé, la valeur est automatiquement convertie dans le bon type <Type de la valeur> : Constante de type chaîne de caractères Type de la valeur à écrire : | | registreTypeBinaire | Clé de type Binaire. Dans ce cas la taille en octets de la donnée écrite sera celle de la variable donnée en <Valeur>. | registreTypeChaîne | Clé de type Chaîne. | registreTypeChaîneEnv | Clé de type Chaîne contenant des variables d'environnement. | registreTypeEntier | Clé de type Entier sur 4 octets. | registreTypeEntier_8 | Clé de type Entier sur 8 octets. | registreTypeEntierBigEndian | Clé de type Entier au format big-endian. | registreTypeMultiChaîne | Clé de type Multichaîne. Dans ce cas, <Valeur> doit correspondre à une série de chaînes séparées par le caractère "Caract(0)". |
Écrire une valeur identifiée par son indice dans une base de registre Masquer les détails
<Résultat> = RegistreEcrit([<Mode d'accès>, ] <Chemin de la clé> , <Indice de la valeur> , <Valeur> [, <Longueur>])
<Résultat> : Booléen - Vrai si la valeur a été écrite,
- Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Mode d'accès> : Constante de type Entier Mode d'accès à la base de registre :
| | registreMode32 | Mode d'accès forcé pour accéder à la base de registre comme un programme 32 bits. | registreMode64 | Mode d'accès forcé pour accéder à la base de registre comme un programme 64 bits. | registreModeAuto (Valeur par défaut) | Mode d'accès à la base de registre automatique : - une application 32 bits exécutée sur un système 32 bits manipule la base de registre comme un programme 32 bits.
- une application 32 bits exécutée sur un système 64 bits manipule la base de registre à partir de la branche suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node - une application 64 bits exécutée sur un système 64 bits manipule la base de registre comme un programme 64 bits.
|
<Chemin de la clé> : Chaîne de caractères Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur. <Indice de la valeur> : Entier Indice de la valeur à écrire. <Valeur> : Chaîne de caractères, entier, réel ou pointeur Valeur à écrire. <Longueur> : Entier optionnel Longueur de la valeur à écrire lorsque le paramètre <Valeur> correspond à un pointeur.
Écrire une valeur typée identifiée par son indice dans une base de registre Masquer les détails
<Résultat> = RegistreEcrit([<Mode d'accès>, ] <Chemin de la clé> , <Indice de la valeur> , <Valeur> , <Type de la valeur>)
<Résultat> : Booléen - Vrai si la valeur a été écrite,
- Faux dans le cas contraire. Pour plus de détails sur l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Mode d'accès> : Constante de type Entier Mode d'accès à la base de registre :
| | registreMode32 | Mode d'accès forcé pour accéder à la base de registre comme un programme 32 bits. | registreMode64 | Mode d'accès forcé pour accéder à la base de registre comme un programme 64 bits. | registreModeAuto (Valeur par défaut) | Mode d'accès à la base de registre automatique : - une application 32 bits exécutée sur un système 32 bits manipule la base de registre comme un programme 32 bits.
- une application 32 bits exécutée sur un système 64 bits manipule la base de registre à partir de la branche suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node - une application 64 bits exécutée sur un système 64 bits manipule la base de registre comme un programme 64 bits.
|
<Chemin de la clé> : Chaîne de caractères Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur. <Indice de la valeur> : Entier Indice de la valeur à écrire. <Valeur> : Chaîne de caractères, entier, réel ou pointeur Valeur à écrire. <Type de la valeur> : Constante de type chaîne de caractères Type de la valeur à écrire : | | registreTypeBinaire | Clé de type Binaire. Dans ce cas la taille en octets de la donnée écrite sera celle de la variable donnée en <Valeur>. | registreTypeChaîne | Clé de type Chaîne. | registreTypeChaîneEnv | Clé de type Chaîne contenant des variables d'environnement. | registreTypeEntier | Clé de type Entier sur 4 octets. | registreTypeEntier_8 | Clé de type Entier sur 8 octets. | registreTypeEntierBigEndian | Clé de type Entier au format big-endian. | registreTypeMultiChaîne | Clé de type Multichaîne. Dans ce cas, <Valeur> doit correspondre à une série de chaînes séparées par le caractère "Caract(0)". |
Remarques Types des données écrites Si le paramètre <Type de la valeur> n'est pas utilisé, les données écrites dans la base de registre sont d'un type spécifique en fonction du paramètre <Valeur>. Si le paramètre <Valeur> correspond à : - une chaîne de caractères, la valeur écrite sera une clé chaîne (REG_SZ).
- un entier, la valeur écrite sera du type REG_DWORD.
- un réel ou un monétaire, la valeur écrite sera du type clé binaire.
- un pointeur, avec le paramètre <Longueur> correspondant à sa longueur, la valeur écrite sera une clé binaire.
Manipulation de la base de registre sous Windows Vista (et supérieur) Sous Windows Vista, si le mécanisme de l'UAC est activé, il est nécessaire d'avoir les droits administrateur pour écrire dans la clé "HKEY_LOCAL_MACHINE\SOFTWARE". Si l'utilisateur n'a pas les droits nécessaires, le mécanisme de l'UAC effectue une redirection automatique vers la clé "HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE". Cette redirection a pour but d'assurer la compatibilité des applications. Les clés écrites dans ce répertoire pourront être lues par l'application qui les a écrites. Rappel : Lors de la création de l'exécutable, il est possible d'inclure un manifeste à l'exécutable afin de donner les droits administrateur à l'application. Limites de la fonction RegistreEcrit La fonction RegistreEcrit ne fonctionne pas sur les entrées du type "(par défaut)". En effet, ces entrées sont spécifiques. Pour atteindre ces entrées, remplacez le nom de la clé par une chaîne vide. Exemple : Ne pas faire : RegistreEcrit("HKEY_CLASSES_ROOT\.jar", "(par défaut)", "myfile")
Faire : RegistreEcrit("HKEY_CLASSES_ROOT\.jar", "", "myfile")
Classification Métier / UI : Code métier Composante : wd290std.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|