des fonctions d'éditions de registre !
des fonctions d'éditions de registre !
Parce que RegINI_Lib est compilé pour PB 3.93 et que les API c'est un petit peu plus sensible et peu documenté...
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Cherche PBOSL_Registry, et tu auras ce que tu souhaites 

Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
tiens !!
; By Dobro
Declare.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)
Declare.l WriteRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.s)
Declare.l WritebinaryRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.l)
; tout ce passe dans le registre
;HKEY_CURRENT_USER\Control Panel\Mouse\
; MouseThreshold1 et MouseThreshold2
; défini le nombre maximal de pixels que la souris peut déplacer
; entre des interruptions de souris avant que le système modifie la relation entre le mouvement de souris et curseur.
; Si le mouvement de souris dépasse le seuil défini par MouseThreshold1
; et Si MouseSpeed est supérieur à 0, déplace le curseur selon le double de la vitesse normale.
; Si le mouvement de souris dépasse le seuil défini par MouseThreshold2
; et Si MouseSpeed est 2, déplace le curseur selon 4 fois la vitesse normale.
; définissez la valeur de MouseSpeed (vitesse) à 1 ou 2 (1 double la vitesse normale, 2 quadrupler la vitesse normale).
;on lit la valeur actuel de MouseThreshold1
Threshold1$=ReadRegKey( #HKEY_CURRENT_USER , "Control Panel\Mouse\" , "MouseThreshold1" )
;on lit la valeur actuel de MouseThreshold2
Threshold2$=ReadRegKey( #HKEY_CURRENT_USER , "Control Panel\Mouse\" , "MouseThreshold2" )
;on lit la valeur actuel de Mouse vitesse
vitesse$=ReadRegKey( #HKEY_CURRENT_USER , "Control Panel\Mouse\" , "MouseSpeed" )
Debug "Threshold1 :" +Threshold1$
Debug "Threshold2 :" +Threshold2$
Debug "vitesse :" +vitesse$
; *************************************************************************************************
; Lire une chaine dans le registre
Procedure.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s) ; ====================================== ReadRegKey
; key.s=ReadRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\Zone Labs\ZoneAlarm","InstallDirectory")
;
hKey.l=0
keyvalue.s= Space (255)
DataSize.l=255
If RegOpenKeyEx_ (OpenKey,SubKey,0, #KEY_READ ,@hKey)
keyvalue= ""
Else
If RegQueryValueEx_ (hKey,ValueName,0,0,@keyvalue,@DataSize)
keyvalue= ""
Else
keyvalue= Left (keyvalue,DataSize-1)
EndIf
RegCloseKey_ (hKey)
EndIf
ProcedureReturn keyvalue
EndProcedure
; ecrire une chaine dans le registre
Procedure.l WriteRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.s) ; ------------------------ WRITE KEY
; result.l=WriteRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\Test Program Name","Test","TestValue")
hKey.l=0
If RegCreateKey_ (OpenKey,SubKey,@hKey)=0
Result=1
DataSize.l= Len (keyvalue)
If RegSetValueEx_ (hKey,keyset,0, #REG_SZ ,@keyvalue,DataSize)=0
Result=2
EndIf
RegCloseKey_ (hKey)
EndIf
ProcedureReturn Result
;returns 0 if error / could not open or create SubKey
;returns 1 if error / could not write new value
;returns 2 if Success!!
EndProcedure
; ecrire un long dans le registre
Procedure.l WritebinaryRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.l) ; ------------------------ WRITE KEY
; result.l=WriteRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\Test Program Name","Test","TestValue")
hKey.l=0
If RegCreateKey_ (OpenKey,SubKey,@hKey)=0
Result=1
DataSize.l=4 ; nombre d'octets ecrit !!
If RegSetValueEx_ (hKey,keyset,0, #REG_BINARY ,@keyvalue,DataSize)=0
Result=2
EndIf
RegCloseKey_ (hKey)
EndIf
ProcedureReturn Result
;returns 0 if error / could not open or create SubKey
;returns 1 if error / could not write new value
;returns 2 if Success!!
EndProcedure
;*********************************************************************************************
Re: des fonctions d'éditions de registre !
Il suffit de savoir où chercherGolfy a écrit :peu documenté...
Dri

Bon... apparemment la recherche sur le mot 'registry' ou 'registre' ne m'a pas donné autant de résultat que vous trois
Au vu des réponses très juste, je clos le sujet (et je me fait tout petit...
)
PS : enfin, un modo peut-il clore le sujet SVP ?

Au vu des réponses très juste, je clos le sujet (et je me fait tout petit...

PS : enfin, un modo peut-il clore le sujet SVP ?
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
On parle du registre windows, il suffit de chercher la doc chez microsoft.
En trois clics c'est trouvé :
http://msdn2.microsoft.com/en-us/library/ms724880.aspx
Dri
En trois clics c'est trouvé :
http://msdn2.microsoft.com/en-us/library/ms724880.aspx
Dri

Est-ce que les constantes existent toutes sous Purebasic ?Dobro a écrit :tiens !!
; By Dobro
Declare.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)
Declare.l WriteRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.s)
Declare.l WritebinaryRegKey(OpenKey.l,SubKey.s,keyset.s,keyvalue.l)
#HKEY_CLASSES_ROOT, #HKEY_CURRENT_USER et #HKEY_LOCAL_MACHINE
je ne trouve rien dans l'aide (chapitre des constantes)

Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/
Super ! merci !!!!
un excellent outil ce visualiseur de structure
==> merci à Dobro pour le code
==> merci à Dr Dri pour le visualiseur de constantes
un excellent outil ce visualiseur de structure

==> merci à Dobro pour le code
==> merci à Dr Dri pour le visualiseur de constantes
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
http://golfy.olympe.in/Teo-Tea/