DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Base de registre
  • Création d'une clé
  • Manipulation de la base de registre sous Windows Vista (et supérieur)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Crée une clé dans la base de registre de Windows.
// Création de la clé "HKEY_LOCAL_MACHINE\SOFTWARE\MonAppli"
ResCréeClé = RegistreCréeClé("HKEY_LOCAL_MACHINE\SOFTWARE\MonAppli")
Syntaxe
<Résultat> = RegistreCréeClé([<Mode d'accès>, ] <Chemin de la clé>)
<Résultat> : Booléen
  • Vrai si la clé a été créée,
  • Faux dans le cas contraire.
Si la clé existe déjà, la clé n'est pas modifiée : la fonction RegistreCréeClé renvoie Faux et la variable ErreurDétectée est à Faux.
<Mode d'accès> : Constante de type Entier
Mode d'accès à la base de registre :
registreMode32Mode d'accès forcé pour accéder à la base de registre comme un programme 32 bits.
registreMode64Mode 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é à créer.
Remarques

Création d'une clé

  • La création de la clé est récursive : si les répertoires spécifiés dans le paramètre <Chemin de la clé> n'existent pas, ils sont automatiquement créés dans la base de registre.
  • Il est uniquement possible de créer des clés secondaires (la création d'une clé primaire est impossible).

Manipulation de la base de registre sous Windows Vista (et supérieur)

Sous Windows Vista (et supérieurs), 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.
Classification Métier / UI : Code métier
Composante : wd290std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Exemplo Resgistro Windows - Ler e Gravar
//-- Global
PROCEDURE MyWindow()
gn_id_usuario is int=0
//Global declarations
_chave_senha is string="HKEY_CURRENT_USER\Software\erpmatos\"
//----------------------
//--End of

//Ler Chave
n_usuario is int=RegistryQueryValue(_chave_senha,"Usuario")
CBOX_salvar=RegistryQueryValue(_chave_senha,"Salvar")
IF CBOX_salvar=True THEN
COMBO_Usuario_matos_1=n_usuario
LSV_Usuario_matos=n_usuario
s_senha is string=RegistryQueryValue(_chave_senha,"Senha")
EDT_senha = Uncrypt(s_senha, "Password")
END
//-----------------------
//Gravar Chave
//Check box Salvar
n_usuario is int=0
IF RegistryExist(_chave_senha) = False THEN
RegistryCreateKey(_chave_senha)
END
n_usuario=COMBO_Usuario_matos_1
s_nome_usuario is string=""
RegistrySetValue(_chave_senha,"Usuario",n_usuario)
RegistrySetValue(_chave_senha,"Senha",Crypt(EDT_senha,"Password"))
HReadSeekFirst(usuario_matos,usuario_matosID,n_usuario)
IF HFound(usuario_matos) THEN
RegistrySetValue(_chave_senha,"UsuarioNome",s_nome_usuario)
ELSE
RegistrySetValue(_chave_senha,"UsuarioNome","")
END
IF CBOX_salvar=True THEN
RegistrySetValue(_chave_senha,"Salvar",1)
ELSE
RegistrySetValue(_chave_senha,"Salvar",0)
END
//--
//--Botao Salvar
IF CBOX_salvar=True THEN
n_usuario is int=0
n_usuario=COMBO_Usuario_matos_1
RegistrySetValue(_chave_senha,"Usuario",n_usuario)
RegistrySetValue(_chave_senha,"Senha",Crypt(EDT_senha,"Password"))
RegistrySetValue(_chave_senha,"UsuarioNome",gs_usuario_nome)
END

//Blog Video e Exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/03/curso-windev-registro-windows-001.html
De matos AMARILDO
27 mar. 2016

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale