Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Type de données dans la base de registre

2 réponses
Avatar
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

2 réponses

Avatar
tking
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.
Avatar
Jean-Marc
On 15 juin, 22:41, sergio wrote:
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