Я нашел что то похожее в инете но оно написано на vbs.
Код
Dim Names
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
'Записать в реестр
'параметры:
'name - куда записать. Name должен начинаться с одного из корневых ключей: HKEY_CURRENT_USER - HKCU,
' HKEY_LOCAL_MACHINE - HKLM, HKEY_CLASSES_ROOT - HKCR, HKEY_USERS - HKEY_USERS,
' HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG. напр. "HKCU\Software\1C\1cv7\7.7\Test\script name"
'Value - значение параметра
'strType - тип параметра, возможные значения "REG_SZ", "REG_EXPAND_SZ", "REG_DWORD", "REG_BINARY"
Sub RegWrite(name,Value,strType)
WshShell.RegWrite name,Value,strType
End Sub
'Получить значение параметра
'strName - значение параметра. strName должен начинаться с одного из корневых ключей: HKEY_CURRENT_USER - HKCU,
' HKEY_LOCAL_MACHINE - HKLM, HKEY_CLASSES_ROOT - HKCR, HKEY_USERS - HKEY_USERS,
' HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG. напр."HKCU\Software\1C\1cv7\7.7\Test\script name"
Function RegRead(strName)
strName = WshShell.RegRead(strName)
End Function
'Удалить раздел/параметр
'strName - значение раздела/параметра. strName должен начинаться с одного из корневых ключей:
' HKEY_CURRENT_USER - HKCU, HKEY_LOCAL_MACHINE - HKLM, HKEY_CLASSES_ROOT - HKCR, HKEY_USERS - HKEY_USERS,
' HKEY_CURRENT_CONFIG - HKEY_CURRENT_CONFIG.
'для удаления раздела StrName должен заканчиваться "\" (напр."HKCU\Software\1C\1cv7\7.7\Test\")
'для удаления параметра strName должен быть в виде "HKCU\Software\1C\1cv7\7.7\Test\script name"
Sub RegDelete(strName)
WshShell.RegDelete(strName)
End Sub
' -----------------------------------------------------------------------------
'Соответсвие значений корней реестра:
'HKEY_CLASSES_ROOT &H80000000
'HKEY_CURRENT_USER &H80000001
'HKEY_LOCAL_MACHINE &H80000002
'HKEY_USERS &H80000003
'HKEY_CURRENT_CONFIG &H80000005
'т.е. в нижеследующих функциях можно в параметре "rasdel" указывать (например
'если нужно обратиться к корню HKEY_CURRENT_USER) то можно указать
'или HKEY_CURRENT_USER или HKCU или &H80000001
' -----------------------------------------------------------------------------
'возвращает в переменную Names все подразделы в указанном разделе
'в виде строки с разделителем ";"
'напр.: "AddTemplate;AutoCompleteSymb;DisableTemplate;EnumMethDlg;ParamInfo;"
Function EnumSubKey(rasdel, strKeyPath, Names)
If rasdel = "HKEY_CURRENT_USER" OR rasdel = "HKCU" OR rasdel = "&H80000001" Then
rasdel = &H80000001
elseif rasdel = "HKEY_LOCAL_MACHINE" OR rasdel = "HKLM" OR rasdel = "&H80000002" Then
rasdel = &H80000002
elseif rasdel = "HKEY_USERS" OR rasdel = "&H80000003" Then
rasdel = &H80000003
elseif rasdel = "HKEY_CURRENT_CONFIG" OR rasdel = "&H80000005" Then
rasdel = &H80000005
End If
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
oReg.EnumKey rasdel, strKeyPath, arrSubKeys
On Error Resume Next
For Each subkey In arrSubKeys
Names =Names & subkey & ";"
Next
End Function
'возвращает в переменную Names параметры в указанном разделе
'в виде строки с разделителем ";"
'напр.: "lang;components;"
Function EnumValues(rasdel, strKeyPath, Names)
If rasdel = "HKEY_CURRENT_USER" OR rasdel = "HKCU" OR rasdel = "&H80000001" Then
rasdel = &H80000001
elseif rasdel = "HKEY_LOCAL_MACHINE" OR rasdel = "HKLM" OR rasdel = "&H80000002" Then
rasdel = &H80000002
elseif rasdel = "HKEY_USERS" OR rasdel = "&H80000003" Then
rasdel = &H80000003
elseif rasdel = "HKEY_CURRENT_CONFIG" OR rasdel = "&H80000005" Then
rasdel = &H80000005
End If
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
oReg.EnumValues rasdel, strKeyPath, arrValueNames
On Error Resume Next
For Each ValueNames In arrValueNames
Names =Names & ValueNames & ";"
Next
End Function
'возвращает в переменную Names параметры ,их значения и типы в указанном разделе
'в виде строки "lang=2,REG_SZ;components=3,REG_DWORD;", т.е.
'параметру lang соответствует значение 2 тип REG_SZ, а параметру components
'соответствует значение 3 тип REG_DWORD
Function EnumParamValues(rasdel, strKeyPath, Names)
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
If rasdel = "HKEY_CURRENT_USER" OR rasdel = "HKCU" OR rasdel = "&H80000001" Then
ras = &H80000001
elseif rasdel = "HKEY_LOCAL_MACHINE" OR rasdel = "HKLM" OR rasdel = "&H80000002" Then
ras = &H80000002
elseif rasdel = "HKEY_USERS" OR rasdel = "&H80000003" Then
ras = &H80000003
elseif rasdel = "HKEY_CURRENT_CONFIG" OR rasdel = "&H80000005" Then
ras = &H80000005
End If
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
oReg.EnumValues ras, strKeyPath, arrValueNames, arrValueTypes
On Error Resume Next
For i=0 To UBound(arrValueNames)
Names =Names & arrValueNames(i) & "="
Select Case arrValueTypes(i)
Case REG_SZ
tip = "REG_SZ"
Case REG_EXPAND_SZ
tip = "REG_EXPAND_SZ"
Case REG_BINARY
tip = "REG_BINARY"
Case REG_DWORD
tip = "REG_DWORD"
Case REG_MULTI_SZ
tip = "REG_MULTI_SZ"
End Select
str1 = rasdel & "\" & strKeyPath & "\" & arrValueNames(i)
str = RegRead(str1)
Names = Names & str1 & "," & tip & ";"
Next
End Function---------------------------