Type de données dans la base de registre

Le
sergio
Bonjour,

J'utilise VB5.
je souhaiterais écrire dans la base de registre une donnée string ou
numérique.
Lorsque j'utilise Savesetting, ma donnée est sous forme REG_SZ et est
lisible par tout utilisateur un peu fouineur de la base de registre. Je
souhaiterais donc enregistrer sous le format REG_DWORD ou REG_BINARY qui me
semble plus ésotérique au premier venu.
Comment faire car SaveSetting ne le permet pas ?

Merci pour votre aide
Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tking
Le #15400951
Il se trouve que sergio a formulé :
Bonjour,

J'utilise VB5.
je souhaiterais écrire dans la base de registre une donnée string ou
numérique.
Lorsque j'utilise Savesetting, ma donnée est sous forme REG_SZ et est
lisible par tout utilisateur un peu fouineur de la base de registre. Je
souhaiterais donc enregistrer sous le format REG_DWORD ou REG_BINARY qui me
semble plus ésotérique au premier venu.
Comment faire car SaveSetting ne le permet pas ?

Merci pour votre aide
Serge




J'avais trouvé ça sur le web

=========== module =================
Public Enum HKEYs
HKEY_CLASSES_ROOT = 0
HKEY_CURRENT_USER = 1
HKEY_LOCAL_MACHINE = 2
HKEY_USERS = 3
HKEY_CURRENT_CONFIG = 4
End Enum

Public Enum REG_TYPE
REG_String = 0
REG_Number = 1
REG_Binary = 2
REG_Expand_String = 3
End Enum

Public Sub REcrit(HKEY As HKEYs, Endroit As String, Valeur As String,
Optional Type_Of_Reg As REG_TYPE = REG_String)
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
Select Case Type_Of_Reg
Case 0: WSHShell.RegWrite HK(HKEY) & Endroit, Valeur, "REG_SZ"
Case 1: WSHShell.RegWrite HK(HKEY) & Endroit, Valeur,
"REG_DWORD"
Case 2: WSHShell.RegWrite HK(HKEY) & Endroit, Valeur,
"REG_BINARY"
Case 3: WSHShell.RegWrite HK(HKEY) & Endroit, Valeur,
"REG_EXPAND_SZ"
End Select
End Sub

Public Function Lit(HKEY As HKEYs, Endroit As String, Optional
Retourner_En_Erreur As String = "zero") As String
On Error Resume Next
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
Lit = WSHShell.RegRead(HK(HKEY) & Endroit)
Retourner_En_Erreur = Lit

If Err <> 0 Then Lit = Retourner_En_Erreur
End Function

Public Sub Suprime(HKEY As HKEYs, Endroit As String)
On Error Resume Next
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegDelete HK(HKEY) & Endroit
End Sub

Private Function HK(HKEY As HKEYs) As String
Select Case HKEY
Case 0: HK = "HKCR"
Case 1: HK = "HKCU"
Case 2: HK = "HKLM"
Case 3: HK = "HKEY_USERS"
Case 4: HK = "HKEY_CURRENT_CONFIG"
End Select
End Function


==========================================
Pour l'utilisation, un exemple d'ecriture

REcrit HKEY_LOCAL_MACHINE,
"SOFTWAREMicrosoftWindowsCurrentVersionRunmonprogramme", App.path
& "monprog.exe"

et de lecture

Lit(HKEY_LOCAL_MACHINE,
"SOFTWAREMicrosoftWindowsCurrentVersionRunmonprogramme")

Après tu modules suivant tes besoins.
Jean-Marc
Le #15400931
On 15 juin, 22:41, sergio
Bonjour,

J'utilise VB5.
je souhaiterais écrire dans la base de registre une donnée string ou
numérique.
Lorsque j'utilise Savesetting, ma donnée est sous forme REG_SZ et est
lisible par tout utilisateur un peu fouineur de la base de registre. Je
souhaiterais donc enregistrer sous le format REG_DWORD ou REG_BINARY qui me
semble plus ésotérique au premier venu.
Comment faire car SaveSetting ne le permet pas ?

Merci pour votre aide
Serge



Hello,

tu trouveras sur ce lien 3 articles expliquant en détail toutes
les opérations sur la base de registre, avec des exemples de
code en VB:
http://faq.vb.free.fr/index.php?rubrique=7

--
Jean-marc
Publicité
Poster une réponse
Anonyme