writeregister ecrit qu'une parte de l'entree
writeregister ecrit qu'une parte de l'entree
bonsoir, je compile en unicode, et lorsque j'inscris quelque chose dans le registry, c'a n'inscrit que la moitie de la chaine.
il y a une solution?
merci
il y a une solution?
merci
Windows 10 x64 -- Purebasic 5.70 LTS x86
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: writeregister ecrit qu'une parte de l'entree
Pour ça faudrait montrer un bout de code pour voir comment tu procèdes.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: writeregister ecrit qu'une parte de l'entree
Code : Tout sélectionner
Procedure.s readRegister(OpenKey.l, subkey.s, KeySet.s)
Define.l hKey, datasize
Define.s KeyValue, result
hKey = 0
KeyValue = Space(255)
datasize = 255
If RegOpenKeyEx_(OpenKey, subkey, 0, #KEY_READ, @hKey) = 0
If RegQueryValueEx_(hKey, KeySet, 0, 0, @KeyValue, @datasize) = 0
result = Left(KeyValue, datasize - 1)
EndIf
EndIf
ProcedureReturn result
EndProcedure
Procedure.l writeRegister(OpenKey.l, SubKey.s, keyset.s, keyvalue.s)
Define.l hKey, DataSize, result
hKey = 0
If RegCreateKey_(OpenKey,SubKey,@hKey) = 0
If RegSetValueEx_(hKey,keyset,0,#REG_SZ,@keyvalue, Len(keyvalue)) = 0
result = 1
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn result
EndProcedure
Procedure.l deleteRegister(OpenKey.l, SubKey.s, keyset.s)
Define.l hKey, result
hKey = 0
If RegOpenKey_(OpenKey, SubKey, @hKey) = 0
If RegDeleteValue_(hKey, keyset) = 0
result = 1
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn result
EndProcedure
writeRegister(#HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", "winsys", "test")
Debug readRegister(#HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", "winsys")
Windows 10 x64 -- Purebasic 5.70 LTS x86
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: writeregister ecrit qu'une parte de l'entree
Essayes en remplaçant @KeyValue par Ascii(KeyValue) idem pour @datasize par Ascii(datasize)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: writeregister ecrit qu'une parte de l'entree
marche pas
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: writeregister ecrit qu'une parte de l'entree
Bonjour,
As tu bien fait ce que ta dit "Falsam" pour le "write" et aussi le "read"?
Cordialement,
GallyHC
As tu bien fait ce que ta dit "Falsam" pour le "write" et aussi le "read"?
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: writeregister ecrit qu'une parte de l'entree
Ce serait pratique si dans votre signature (editer votre profile) vous indiquiez votre version windows et votre version de PB.
ça aide parfois à diriger les recherches en cas d'erreurs.
ça aide parfois à diriger les recherches en cas d'erreurs.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: writeregister ecrit qu'une parte de l'entree
ben oui c'est ca le probleme, je suis sous l'ancienne version de pb, et quand j'installe la nouvelle version (5.5) ca me dit 
can't load built-in libraries, please reinstall purebasic

Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: writeregister ecrit qu'une parte de l'entree
Cela veut dire que tu installes PB dans un répertoire qui contient déjà des vieilles libs (tiers) incompatibles 5.50.ChaudEf a écrit :ben oui c'est ca le probleme, je suis sous l'ancienne version de pb, et quand j'installe la nouvelle version (5.5) ca me ditcan't load built-in libraries, please reinstall purebasic
Installe PB 5.50 dans un nouveau répertoire (vide) et en mode admin de préférence.
Tu peux avoir autant d'installation que tu veux dans des répertoires différents.
Cela permet d'utiliser bêtas, standards, LTS, x32 et x64.
Sauf paramétrage spécial, toutes les versions utiliseront les même paramètres de préférences
Ce qui évite de ré-paramétrer chaque installation (couleur, modèles, historique).
(Sauvegarder le répertoire %appdata%\purebasic)
Re: writeregister ecrit qu'une parte de l'entree
Tu peux suivre une arborescence comme ça quand tu installes :
PB/X64/4.40
PB/X86/4.40
PB/X64/5.50
PB/X86/5.50
Ainsi tu n'as jamais ce genre de soucis.
Ensuite tu n'utilise qu'une interface (de la dernière version tant qu'à faire) et tu indiques les différents chemins des autres versions de PB que tu as.
Dans >Fichier/préférences/compilateur<
Pour tes codes c'est pareil...
J'ai un dossier CODES PB en dehors du répertoire PB avec des sous dossiers 5.50, 4.43 etc...
Ainsi tu peux utiliser ET compiler de vieux codes si besoin avec la même interface.
PB/X64/4.40
PB/X86/4.40
PB/X64/5.50
PB/X86/5.50
Ainsi tu n'as jamais ce genre de soucis.
Ensuite tu n'utilise qu'une interface (de la dernière version tant qu'à faire) et tu indiques les différents chemins des autres versions de PB que tu as.
Dans >Fichier/préférences/compilateur<
Pour tes codes c'est pareil...
J'ai un dossier CODES PB en dehors du répertoire PB avec des sous dossiers 5.50, 4.43 etc...
Ainsi tu peux utiliser ET compiler de vieux codes si besoin avec la même interface.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 57
- Inscription : mer. 09/juin/2010 23:47
Re: writeregister ecrit qu'une parte de l'entree
Remplace la ligne 24 par:
Code : Tout sélectionner
If RegSetValueEx_(hKey,keyset,0,#REG_SZ,@keyvalue, StringByteLength(keyvalue)) = 0
Re: writeregister ecrit qu'une parte de l'entree
Merci mais ca n'a pas aide, ca ne marche toujours pas.El Papounet a écrit :Remplace la ligne 24 par:Code : Tout sélectionner
If RegSetValueEx_(hKey,keyset,0,#REG_SZ,@keyvalue, StringByteLength(keyvalue)) = 0
j'ai reinstalle purebasic, et toujours la meme erreur, mais l'ancienne version marche (je suis reste sur 5.30)
Windows 10 x64 -- Purebasic 5.70 LTS x86