[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
Здравствуйте aa
Уже сломал мозг... нужно через батник прописать в реестр настройки для заставки. один из параметров содержит пути к файлам которые будет использовать заставка.
Если зайти в regedit и открыть этот параметр то он имеет следующий вид:
C:\1.mp4C:\2.mp4
т.е. файлы просто перечислены без пробела, без запятой, или еще какого-либо разделителя...
но если сделать экспорт параметра, то в reg-файле следующая ахинея:
[HKEY_CURRENT_USER\Software\Screensaver]
"Videos"="C:\\1.mp4
C:\\2.mp4"
имена следующих файлов переносятся на следующую строку. как прописать такое в батнике не имею понятия. да и сам этот reg-файл не работает. изменений не вносит. так как ошибка в синтаксисе, видимо.
пробовал заменить перенос строки пробелом, запятой, точкой с запятой, точкой. пробовал написать впритык. не прокатывает.
Пробовал так же создать мультистроковый параметр под тем же именем, но из него данные не берутся.
Нужно каким-то образом прописать в реестр именно в таком виде и именно в строковый параметр.
может кто-то сталкивался?

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1219
  • Репутация:28

    [+] [-]
  • Откуда: 65 регион (GMT+11)
cartmenezz,
aa
А чем экспортируете значения реестра в reg-файл?
В 2k10 имеется отличная утилитка: \2k10\Programs-2k10\Registry\RegWorkshop\RegWorkshop.exe (мне её как conty9 как-то посоветовал, так я только ей и пользуюсь при необходимости)
Встаёте на нужный подраздел реестра --> ПКМ --> Экспортировать.
При необходимости потом можно конвертировать этот *.reg-файл в скрипт *.cmd с помощью утилиты от nikzzzz: RegToScript (File => File)

[Цитировать]

    korsak7
  • 107
  • Стаж: 2 года 9 месяцев
  • Сообщений: 501
  • Репутация:38

    [+] [-]
параметр то он имеет следующий вид
тип какой у параметра?

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
korsak7, обычный строковый REG_SZ
sergeysvirid, экспортировал просто через regedit,. была мысль что возможно что-то покруче поможет, но тогда я попробовал RegOrganizer,... RegWorkshop тоже попробую, спасибо за наводку. но подозреваю что ситуация будет аналогичная. как я понял эта запись с ошибкой и строковый параметр не может иметь такой вид, и тем не менее заставка умудряется с ним работать, и только с ним.. нужно как-то имитировать такую же ошибку..
Upd: через RegWorkshop аналогично

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1465
  • Репутация:79

    [+] [-]
cartmenezz,
Это либо параметр REG_MULTI_SZ , либо действительно кривой REG_SZ с cr+lf разделителем.
Можно вместо него создать REG_BINARY , переведя параметр в hex вид.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
44979cartmenezz,
Это либо параметр REG_MULTI_SZ , либо действительно кривой REG_SZ с cr+lf разделителем.
Можно вместо него создать REG_BINARY , переведя параметр в hex вид.
именно кривой REG_SZ, редакторы его одинаково опознают. и REG_MULTI_SZ программа принимать не хочет, пробовал создавать его просто с одной строчкой C:\1.mp4 чтобы наверняка проверить, но даже так настройка не воспринимается. заставке подавай именно REG_SZ..
а по поводу REG_BINARY не могли бы вы пошагово расписать, если не сложно?

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
...как ни возьмусь что-то делать вечно какая-то дичь на пути ac

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 месяцев 19 дней
  • Сообщений: 112
  • Репутация:10

    [+] [-]
Я пробовал через FarManager. Строку с переносами он в реестр суёт, но в regedit параметр отображается с двумя квадратиками (CR и LF соотв.), а не слитной строкой.

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 913
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
cartmenezz, скорее всего, как сказал nikzzzz, там с cr+lf разделителем, который видимо выпадает по какой то причине при импорте ключа.
У меня такого параметра в реестре нет, что бы посмотреть что к чему.
Ander_73, тогда не cr+lf ...
cartmenezz, что в системе надо поменять/настроить, что бы этот параметр в реестре создался?

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
что в системе надо поменять/настроить, что бы этот параметр в реестре создался?
нужно настроить параметры заставки
заставка - https://yadi.sk/d/iqJBVt373Msg3i
ЗЫ: я там опечатался, [HKEY_CURRENT_USER\Software\VideoScreensaver] правильный путь настроек

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
44986Я пробовал через FarManager. Строку с переносами он в реестр суёт, но в regedit параметр отображается с двумя квадратиками (CR и LF соотв.), а не слитной строкой.
а импорт такого параметра после экспорта делается? ели да можете reg-файл скинуть, попробую

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 месяцев 19 дней
  • Сообщений: 112
  • Репутация:10

    [+] [-]
cartmenezz, засада в том, что импорт такого рег-файла возможен только самим же Far-ом (точнее, плагином RegEdit). Винда его не импортирует, как ты и писал. Точнее, пишет, что всё Ок, но параметра в реестре не появляется.
Мой пост был не об этом. Я хотел сказать, что crlf в качестве разделителя "виден" в значении ключа как нечитаемые символы.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года
  • Сообщений: 90
  • Репутация:0

    [+] [-]
Ander_73, жаль, тоже не вариант значит..
Adler, заставка кстати на вашем любимом C# написана) брал исходники с гитхаб (https://github.com/chrislott/Videosaver). пришлось вчера скачивать и ставить Visual Studio... потом сносить винду (тестовая, не жалко) и ставить другую и другую Visual Studio... 10 гигов ради того чтобы собрать файл 133кб )) а там еще и такая подстава с настройками... походу не стоило оно того..

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 7 месяцев
  • Сообщений: 1465
  • Репутация:79

    [+] [-]
Можно попробовать через RegEdit сделать экспорт этого ключа в разных форматах, (win9x,txt) и посмотреть, что же там лежит.

[Цитировать]

    Adler
  • 1708
  • Стаж: 1 год 11 месяцев
  • Сообщений: 913
  • Репутация:31

    [+] [-]
  • Откуда: Луганск
cartmenezz, там в качестве разделителя "\n"(переход на новую строку) используется.
Вот из исходника скринсейвера кусок:
А у меня даже после декомпиляции назад собрать (в последней VS2017) удалось без танцев с бубном, что бывает довольно таки редко :)


Последний раз редактировалось: Adler (2017-09-14 12:32), всего редактировалось 7 раз(а)

Страница 1 из 3


Показать сообщения:    

Текущее время: 20-Сен 22:49

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы