Seite 1 von 1

rename registry key ...

Verfasst: 21.01.2005 19:39
von bingo
dafür gibt es keine direkte API ... hier ein kleiner "umweg"

- lesen des keys
- speichern des wertes (mit type!)
- löschen des keys
- schreiben des neuen keys mit gespeicherten wert/type

Code: Alles auswählen

Procedure renamekey(openkey,keyname.s,value.s,newvalue.s)
If RegOpenKeyEx_(openkey, keyname, 0,#KEY_ALL_ACCESS, @hkey) = 0
  If RegQueryValueEx_(hKey, value, 0, 0, 0, @laenge) = 0
  *MemoryID = AllocateMemory(laenge) 
  RegQueryValueEx_(hKey, value, 0,  @type, *MemoryID , @laenge) 
  RegDeleteValue_(hKey, value)
  RegSetValueEx_(hKey,newvalue,0,type,*MemoryID,laenge) 
  RegCloseKey_(hKey)
  FreeMemory(*MemoryID) 
  ProcedureReturn #true
  EndIf
EndIf
ProcedureReturn #false
EndProcedure


Debug renamekey(#HKEY_LOCAL_MACHINE,"SYSTEM","alterkey","neuerkey")

Verfasst: 27.02.2005 15:52
von JanFredi
Erkläre es noch mal genauer!