J'essaye de modifier la clé HKEY_CURRENT_USER\Control Panel\International
pour fixer la valeur sDecimal à ".".
Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas
égale à "." je souhaite lui affecter cette valeur en utilisant le code
suivant:
TailleBuffer = 2
Donnee = "."
Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer)
L'API fonctionne, mais la valeur finale contient des caractères
"chinois"........
Je dois oublier une conversion?????
Merci pour vos suggestions...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour Mikel83, Mikel83 a écrit :
Bonsoir!
J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational pour fixer la valeur sDecimal à ".". Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas égale à "." je souhaite lui affecter cette valeur en utilisant le code suivant: TailleBuffer = 2 Donnee = "." Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer)
L'API fonctionne, mais la valeur finale contient des caractères "chinois"........ Je dois oublier une conversion????? Merci pour vos suggestions...
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit comment sont déclaréees l'API RegSetValueEx, et les variables TailleBuffer et Donnee
-- Cordialement,
Jacques.
Bonjour Mikel83,
Mikel83 a écrit :
Bonsoir!
J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational
pour fixer la valeur sDecimal à ".".
Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas
égale à "." je souhaite lui affecter cette valeur en utilisant le code
suivant:
TailleBuffer = 2
Donnee = "."
Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer)
L'API fonctionne, mais la valeur finale contient des caractères
"chinois"........
Je dois oublier une conversion?????
Merci pour vos suggestions...
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit
comment sont déclaréees l'API RegSetValueEx, et les variables
TailleBuffer et Donnee
J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational pour fixer la valeur sDecimal à ".". Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas égale à "." je souhaite lui affecter cette valeur en utilisant le code suivant: TailleBuffer = 2 Donnee = "." Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer)
L'API fonctionne, mais la valeur finale contient des caractères "chinois"........ Je dois oublier une conversion????? Merci pour vos suggestions...
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit comment sont déclaréees l'API RegSetValueEx, et les variables TailleBuffer et Donnee
-- Cordialement,
Jacques.
Mikel83
Voici les déclarations:
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hkey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long ............................................... Dim Resultat As Long, Ident As Long, TailleBuffer As Long Dim Donnee As String
-- Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83, Mikel83 a écrit : > Bonsoir! > > J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational > pour fixer la valeur sDecimal à ".". > Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas > égale à "." je souhaite lui affecter cette valeur en utilisant le code > suivant: > TailleBuffer = 2 > Donnee = "." > Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer) > > L'API fonctionne, mais la valeur finale contient des caractères > "chinois"........ > Je dois oublier une conversion????? > Merci pour vos suggestions... >
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit comment sont déclaréees l'API RegSetValueEx, et les variables TailleBuffer et Donnee
-- Cordialement,
Jacques.
Voici les déclarations:
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" _
(ByVal hkey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
...............................................
Dim Resultat As Long, Ident As Long, TailleBuffer As Long
Dim Donnee As String
--
Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83,
Mikel83 a écrit :
> Bonsoir!
>
> J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational
> pour fixer la valeur sDecimal à ".".
> Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas
> égale à "." je souhaite lui affecter cette valeur en utilisant le code
> suivant:
> TailleBuffer = 2
> Donnee = "."
> Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer)
>
> L'API fonctionne, mais la valeur finale contient des caractères
> "chinois"........
> Je dois oublier une conversion?????
> Merci pour vos suggestions...
>
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit
comment sont déclaréees l'API RegSetValueEx, et les variables
TailleBuffer et Donnee
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hkey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long ............................................... Dim Resultat As Long, Ident As Long, TailleBuffer As Long Dim Donnee As String
-- Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83, Mikel83 a écrit : > Bonsoir! > > J'essaye de modifier la clé HKEY_CURRENT_USERControl PanelInternational > pour fixer la valeur sDecimal à ".". > Je lis correctement la valeur avec RegQueryValueEx, et si elle n'est pas > égale à "." je souhaite lui affecter cette valeur en utilisant le code > suivant: > TailleBuffer = 2 > Donnee = "." > Resultat = RegSetValueEx(Ident, "sDecimal", 0&, REG_SZ, Donnee, TailleBuffer) > > L'API fonctionne, mais la valeur finale contient des caractères > "chinois"........ > Je dois oublier une conversion????? > Merci pour vos suggestions... >
Pour avoir une idée de l'origine de l'erreur, il faudrait que l'on voit comment sont déclaréees l'API RegSetValueEx, et les variables TailleBuffer et Donnee
-- Cordialement,
Jacques.
Jacques93
Bonjour Mikel83 Mikel83 a écrit :
Voici les déclarations:
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hkey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long ................................................ Dim Resultat As Long, Ident As Long, TailleBuffer As Long Dim Donnee As String
Pour infos, il y a des APIs spécialisées pour les paramètres internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _ "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _ "SetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String) As Long
sDec = Space(16) lResult = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, _ sDec, Len(sDec)) If lResult > 0 Then sDec = Left(sDec, lResult - 1) MsgBox sDec End If sDec = "." lResult = SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, sDec)
-- Cordialement,
Jacques.
Bonjour Mikel83
Mikel83 a écrit :
Voici les déclarations:
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" _
(ByVal hkey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
................................................
Dim Resultat As Long, Ident As Long, TailleBuffer As Long
Dim Donnee As String
Pour infos, il y a des APIs spécialisées pour les paramètres
internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _
"GetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String, _
ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _ (ByVal hkey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long ................................................ Dim Resultat As Long, Ident As Long, TailleBuffer As Long Dim Donnee As String
Pour infos, il y a des APIs spécialisées pour les paramètres internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _ "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _ "SetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String) As Long
sDec = Space(16) lResult = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, _ sDec, Len(sDec)) If lResult > 0 Then sDec = Left(sDec, lResult - 1) MsgBox sDec End If sDec = "." lResult = SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, sDec)
-- Cordialement,
Jacques.
Mikel83
OK, ça fonctionne avec cette syntaxe! Merci pour ton aide et pour tes conseils complémentaires. -- Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83 Mikel83 a écrit : > Voici les déclarations: > > Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias > "RegSetValueExA" _ > (ByVal hkey As Long, _ > ByVal lpValueName As String, _ > ByVal Reserved As Long, _ > ByVal dwType As Long, _ > lpData As Any, _ > ByVal cbData As Long) As Long > ................................................ > Dim Resultat As Long, Ident As Long, TailleBuffer As Long > Dim Donnee As String > >
Pour infos, il y a des APIs spécialisées pour les paramètres internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _ "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _ "SetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String) As Long
sDec = Space(16) lResult = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, _ sDec, Len(sDec)) If lResult > 0 Then sDec = Left(sDec, lResult - 1) MsgBox sDec End If sDec = "." lResult = SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, sDec)
-- Cordialement,
Jacques.
OK, ça fonctionne avec cette syntaxe!
Merci pour ton aide et pour tes conseils complémentaires.
--
Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83
Mikel83 a écrit :
> Voici les déclarations:
>
> Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias
> "RegSetValueExA" _
> (ByVal hkey As Long, _
> ByVal lpValueName As String, _
> ByVal Reserved As Long, _
> ByVal dwType As Long, _
> lpData As Any, _
> ByVal cbData As Long) As Long
> ................................................
> Dim Resultat As Long, Ident As Long, TailleBuffer As Long
> Dim Donnee As String
>
>
Pour infos, il y a des APIs spécialisées pour les paramètres
internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _
"GetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String, _
ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, _
ByVal LCType As Long, ByVal lpLCData As String) As Long
OK, ça fonctionne avec cette syntaxe! Merci pour ton aide et pour tes conseils complémentaires. -- Cordialement, Mikel
"Jacques93" a écrit :
Bonjour Mikel83 Mikel83 a écrit : > Voici les déclarations: > > Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias > "RegSetValueExA" _ > (ByVal hkey As Long, _ > ByVal lpValueName As String, _ > ByVal Reserved As Long, _ > ByVal dwType As Long, _ > lpData As Any, _ > ByVal cbData As Long) As Long > ................................................ > Dim Resultat As Long, Ident As Long, TailleBuffer As Long > Dim Donnee As String > >
Pour infos, il y a des APIs spécialisées pour les paramètres internationaux :
Private Declare Function GetLocaleInfo Lib "kernel32" Alias _ "GetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String, _ ByVal cchData As Long) As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias _ "SetLocaleInfoA" (ByVal Locale As Long, _ ByVal LCType As Long, ByVal lpLCData As String) As Long