Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] RegRead ( "keyname", REG_EXPAND_SZ "valuename" ) ?

Ответить
Настройки темы
[решено] RegRead ( "keyname", REG_EXPAND_SZ "valuename" ) ?

Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата:
When reading a REG_MULTI_SZ key the multiple entries are separated by @LF - use with StringSplit(..., @LF) to get each entry.
Совершенно не пойму, что делать? Куда тыкать StringSplit(..., @LF) ?
Мне надо счесть корректно параметр, который REG_MULTI_SZ, разделять строки это тоже хорошо, в InnoSetup используется {break},
но это всё относительно записи, нафига это всё надо для чтения, ведь откуда известно что я считаю регридом? Ведь было бы известно,
тогда бы и читать не нужно! ?
Одним словом как читать дворд, мултисз, экспанд итп...? Бывает, кстати неизвесно вообще заранее какой тип, хотя это отдельный вопрос.

-------
Полезное сообщение


Отправлено: 22:12, 19-06-2009

 

Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


а как вот такой вот reg файл, и не надо слешей:

Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\DashSignature\Knagalis]
"X2"=hex(2):56,00,4d,00,4b,00,4a,00,47,00,4e,00,44,00,49,00,44,00,4e,00,57,00,4c,00,44,00,4d,00,4b,00,4a,00,47,00,4e,00,44,00,49,00,44,00,4e,00,57,00,4c,00,44,00,00,00
после выполнения данного reg файла, в реестр, записалось значение: VMKJGNDIDNWLDMKJGNDIDNWLD, тип величины: REG_MULTI_SZ

Вот такой же вариант как понимаю устроит?? ))

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Последний раз редактировалось proxy, 22-06-2009 в 00:16.


Отправлено: 23:59, 21-06-2009 | #41



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


и вот такой вот получается скрипт:

Код: Выделить весь код
Opt('MustDeclareVars',      1)

Local $sRegKey, $sSerial, $i, $sSerialResult
Local $sFileContent, $sRegVSTs, $sRegFile, $hFileOpen

$sRegKey = 'HKEY_CURRENT_USER\Software\DashSignature\Knagalis'
$sSerial = RegRead($sRegKey, 'SN')

For $i=1 To StringLen($sSerial)
    $sSerialResult &= Hex(Asc(StringMid($sSerial, $i, 1)), 2) & ',00,'
Next
$sSerialResult = 'hex(2):' & $sSerialResult
If StringRight($sSerialResult, 1) == ',' Then $sSerialResult = StringTrimRight($sSerialResult, 1)

$sFileContent = _
    'Windows Registry Editor Version 5.00' & @CRLF & @CRLF & _
    '[' & $sRegKey & ']' & @CRLF & _
    '"SN"=' & $sSerialResult & @CRLF & @CRLF

Switch @OSArch
    Case 'x86'
        $sRegVSTs = 'HKLM\Software\VST'
    Case 'x64'
        $sRegVSTs = 'HKLM\Software\Wow6432Node\VST'
EndSwitch
$sRegFile = RegRead($sRegVSTs, 'VSTPluginsPath') & '\Knagalis\Knagalis.reg'

$hFileOpen = FileOpen($sRegFile, 8+2)
FileWrite($hFileOpen, $sFileContent)
FileClose($hFileOpen)

FileSetAttrib($sRegFile, '-RASHNOT', 0)
FileSetTime($sRegFile, '20010101000000', 0)
FileSetTime($sRegFile, '20010101000000', 1)
FileSetTime($sRegFile, '20010101000000', 2)

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:24, 22-06-2009 | #42


Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


Цитата proxy:
тип величины: REG_MULTI_SZ »
Ты оговорился, REG_EXPAND_SZ .
Предлагаешь без слешей? Хорошо, я знаю что без них можно.
Это майкрософт придумали для красоты переносы строк, поэтому фиг с ними.
Там я писал уже, что на REG_SZ заменил. Но в других случаях это нельзя делать,
ключи содержащие переменные пути, напр. %SystemDrive% не будут работать
в системе через обычный REG_SZ. Поэтому сам тип лучше соблюдать где встречается.

Спасибо, ты помимо всего ещё и организовал лучше мой скрипт, хотя я ещё не проверял,
но красивше стало, я сам даже не втыкаюсь как пральна всякие Local юзать
А что свитчеры опустил, так лучше? Я хочу чтоб x86_x64 на весь код влияло глобально,
так как часто в программах это нужно по всему коду. Я вообще-то делаю как бы шаблон,
чтобы его перекидывать на много приложений, чтоб меньше потом писать...
Щас почитаю, подумаю над этим.
Цитата proxy:
Hex(Asc(StringMid »
А у меня мысль была знаешь какая, а что если получить строку UNICODE в автиоите
и потом её как-то заполнить RegExp-ами, чтоб между символами запятые разделители вставить.
Это реально? Тогда можно даже и не ascii контент считывать в регфайл, любой bin- контент

-------
Полезное сообщение


Отправлено: 19:03, 22-06-2009 | #43


Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


proxy, поправочка моя
Код: Выделить весь код
        '"SN"=' & $sSerialResult & ",00,00" & @CRLF & @CRLF
Ноль терминейтед стринг, это как правило во всяких бинарных записях реестра. ;-
Но так всё очень превосходно!
Пора тему закруглить, и завести новую, сугубо по параметрам, без всяких "программ"

-------
Полезное сообщение


Отправлено: 19:24, 22-06-2009 | #44


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Цитата:
а что если получить строку UNICODE в автиоите
вопрос в том - как ? )))

Цитата:
организовал лучше мой скрипт
просто разложил по порядку выполнения, но можно как угодно конечно - и само собой как удобней тебе - в первую очередь, ну и главное, что бы все работало правильно ))

Цитата semiono:
Ноль терминейтед стринг, это как правило во всяких бинарных записях реестра »
ну надо-так надо ))

в принципе: Hex(Asc(StringMid - тут и получаем юникодовское кодирование..........

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:51, 22-06-2009 | #45



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] RegRead ( "keyname", REG_EXPAND_SZ "valuename" ) ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? verdix Microsoft Windows 2000/XP 3 03-10-2009 23:46
[решено] Нужна помощь с StringRegExpReplace ( "test", "PATTERN-ом", "\1"). ikif AutoIt 6 28-07-2009 20:06
Debian/Ubuntu - [решено] Пропали кнопки "свернуть","закрыть","во весь екран" в папках Alex.sys Общий по Linux 5 02-04-2009 11:13
Приоритет в диспетчере: "реального времени", "средний", "выше среднего" alhimik PC Хочу все знать 3 28-11-2006 05:29
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход