PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Types des données écrites
  • Application 32 bits fonctionnant sur un système 64 bits
  • Manipulation de la base de registre sous Windows Vista
  • Limites de la fonction RegistreEcrit
  • Équivalence
  • Fonctionnement différent en mode GO et en utilisation réelle
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
É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_LOCAL_MACHINE\SOFTWARE\MonAppli"
ResEcriture = RegistreEcrit("HKEY_LOCAL_MACHINE\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(<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.
<Chemin de la clé> : Chaîne de caractères (avec guillemets)
Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur.
Windows Mobile Ce chemin peut contenir au maximum 255 caractères et ne peut pas contenir plus de 16 niveaux.
<Nom de la valeur> : Chaîne de caractères (avec guillemets)
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(<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.
<Chemin de la clé> : Chaîne de caractères (avec guillemets)
Chemin complet de la clé à manipuler. Cette clé doit exister pour pouvoir lui donner une valeur.
Windows Mobile Ce chemin peut contenir au maximum 255 caractères et ne peut pas contenir plus de 16 niveaux.
<Nom de la valeur> : Chaîne de caractères (avec guillemets)
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 :
RegistreTypeBinaireClé 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îneClé de type Chaîne.
RegistreTypeChaîneEnvClé de type Chaîne contenant des variables d'environnement.
RegistreTypeEntierClé de type Entier sur 4 octets.
RegistreTypeEntier_8Clé de type Entier sur 8 octets.
RegistreTypeEntierBigEndianClé de type Entier au format big-endian.
RegistreTypeMultiChaîneClé 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(<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.
<Chemin de la clé> : Chaîne de caractères (avec guillemets)
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(<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.
<Chemin de la clé> : Chaîne de caractères (avec guillemets)
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 :
RegistreTypeBinaireClé de type Binaire. Dans ce cas la taille en octets de la donnée écrite sera celle de la variable donnée en <Vvaleur>.
RegistreTypeChaîneClé de type Chaîne.
RegistreTypeChaîneEnvClé de type Chaîne contenant des variables d'environnement.
RegistreTypeEntierClé de type Entier sur 4 octets.
RegistreTypeEntier_8Clé de type Entier sur 8 octets.
RegistreTypeEntierBigEndianClé de type Entier au format big-endian
RegistreTypeMultiChaîneClé 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
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsWindows MobileCode Utilisateur (MCU)

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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsCode Utilisateur (MCU)

Application 32 bits fonctionnant sur un système 64 bits

Sur un système 64 bits, les applications 32 bits écrivent dans la base de registre à partir de la branche suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsCode Utilisateur (MCU)

Manipulation de la base de registre sous Windows Vista

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")
WINDEVWindowsWindows Mobile

Équivalence

Le fonctionnement de la fonction RegistreEcrit est équivalent au fonctionnement de la fonction ceRegistreEcrit.
Seule différence :
  • la fonction RegistreEcrit manipule la base de registre du Terminal Mobile (Pocket PC) à partir d'une application WINDEV Mobile.
  • la fonction ceRegistreEcrit manipule la base de registre du Terminal Mobile (Pocket PC) à partir d'une application WINDEV standard.
Windows Mobile

Fonctionnement différent en mode GO et en utilisation réelle

En mode GO (simulation sur le poste de développement), la fonction RegistreEcrit manipule la base de registre du poste PC de développement.
En utilisation réelle, la fonction RegistreEcrit manipule la base de registre du Terminal Mobile (Pocket PC).
L'ensemble des différences entre le mode GO (simulateur) et l'utilisation réelle est détaillé dans Différences en mode GO et en utilisation réelle.
Classification Métier / IHM : Code métier
Composante : wd240std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire