Да! Но там не только юникод, там ещё и запятые и слеши с переменной длиной первой строки, ты же понимаешь? А так всё верно!
Вот код, хочу напомнить. Но там проблема какраз вышла из-за разных типов. То есть это недоделанный скрипт...
Код:
Switch @OSArch
Case "x86"
$sRegVSTs = "HKLM\Software\VST"
Case "x64"
$sRegVSTs = "HKLM\Software\Wow6432Node\VST"
EndSwitch
$sInsVSTs = RegRead($sRegVSTs, "VSTPluginsPath")
$sRegKey = "HKEY_CURRENT_USER\Software\DashSignature\Knagalis"
$sSerial = RegRead($sRegKey, "SN")
Local $sSerial, $i, $sSerialResult
For $i=1 To StringLen($sSerial)
$sSerialResult &= Hex(Asc(StringMid($sSerial, $i, 1)), 2)
If $i < StringLen($sSerial) Then $sSerialResult &= ',00,'
Next
$sSerialResult = 'hex(2):' & $sSerialResult & ',00,00,00'
$sFile_Content = _
"Windows Registry Editor Version 5.00" & @CRLF & @CRLF & _
"[" & $sRegKey & "]" & @CRLF & _
'"SN"=' & $sSerialResult & @CRLF & @CRLF
$sRegFile = $sInsVSTs & "\Knagalis\Knagalis.reg"
FileSetAttrib($sRegFile,"-RASHNOT",0)
$hFileOpen = FileOpen($sRegFile, 10)
FileWrite($hFileOpen, $sFile_Content)
FileClose($hFileOpen)
FileSetAttrib($sRegFile,"-RASHNOT",0)
FileSetTime($sRegFile, '20010101000000', 0, 1)
FileSetTime($sRegFile, '20010101000000', 1, 1)
FileSetTime($sRegFile, '20010101000000', 2, 1)
Суть в том чтобы просто зделать бэкап файлик Knagalis.reg и всё!
Но так как на этом скрипте дело не стало, то хочется и другие ситуации предусмотреть,
в часности REG_EXPAND.. На будущее!
Вся фитча вот здесь происходит:
Код:
$sFile_Content = _
"Windows Registry Editor Version 5.00" & @CRLF & @CRLF & _
"[" & $sRegKey & "]" & @CRLF & _
'"SN"=' & $sSerialResult & @CRLF & @CRLF
$sRegFile = $sInsVSTs & "\Knagalis\Knagalis.reg"