Code: Select all
; purebasic survival guide - pb3.90 sp1
; registry 1 - 10.11.2003 ejn (blueznl)
; http://www.xs4all.nl/~bluez/datatalk/pure1.htm
;
; - read from and write to registry
; - see the win32.hlp file for other variations
;
;
; *** create a new key
;
topkey.l = #HKEY_CURRENT_USER
subkey.s = "Control Panel\Desktop2"
handle.l = 0
result.l = 0
If RegCreateKeyEx_(topkey,@subkey,0,0,#REG_OPTION_NON_VOLATILE,#KEY_ALL_ACCESS,0,@handle,@result)=0
Debug "creation okay"
RegCloseKey_(handle)
EndIf
;
; *** delete a key
;
If RegDeleteKey_(topkey,@subkey)=0
Debug "deletion okay"
Else
Debug "error deleting"
EndIf
;
; *** open key
;
topkey.l = #HKEY_CURRENT_USER
subkey.s = "Control Panel\Desktop"
handle.l = 0
If RegOpenkeyEx_(topkey,@subkey,0,#KEY_ALL_ACCESS,@handle)=0
;
; *** set or create a value
;
name.s = "TileWallPaper"
Buffer.s = "1"
buffer_l.l = Len(Buffer)
RegSetValueEx_(handle,@name,0,#REG_SZ,Buffer,buffer_l)
;
Debug "value set"
Debug Buffer
;
; *** read a value
;
buffer_l.l = 255 ; length of buffer
Buffer.s = Space(valuebuffer_l) ; buffer for returned data
type.l = 0 ; type of data in buffer
If RegQueryValueEx_(handle,@name,0,@type,@Buffer,@buffer_l)=0
;
; data found, could be different things, see win32.hlp for all possibilities
;
Select type
Case #REG_DWORD
Value.l = PeekL(@Buffer)
Case #REG_SZ
Value.l = Val(Left(Buffer,buffer_l))
EndSelect
;
Debug "value read"
Debug Value
EndIf
;
; *** free handle
;
RegCloseKey_(handle)
EndIf
;



