|
Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Система - Реестр - почему не работает REG_SZ, как Hex1? |
|
|
Система - Реестр - почему не работает REG_SZ, как Hex1?
|
Забанен Сообщения: 52 |
Известно, что REG_SZ - имеет тип 1, а, например, REG_MULTI_SZ = 7, REG_DWORD = 4 etc.
Почему же тогда не работает: Ни параметр не создается, ни значение имеющегося не меняется. Хотя, в интерактивном режиме RegEdit пишет, что: Registry Editor Information in ..\RRC\2Del_Reg_Sz.reg has been successfully entered into the registry on My Computer. Очередной косяк венды? Win 2003 . |
|
Отправлено: 16:29, 29-02-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Mersim:
|
|
Отправлено: 16:47, 29-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 52
|
Вопросом на вопрос? ОК.
А почему не должен, если все остальные работают? Почему он, находясь в единой иерархии с остальными, требует к себе индивидуального подходя? Почему он один не вписывается в общую, казалось бы, неплохую нотацию? . |
Отправлено: 16:53, 29-02-2016 | #3 |
Модератор Сообщения: 8283
|
Профиль | Отправить PM | Цитировать Цитата Mersim:
Внесите изменения вручную в реестр, экспортируйте нужную ветку в reg файл, сравните полученный с самописным Скрытый текст
REGEDIT4, как минимум
Цитата Mersim:
|
||
Отправлено: 08:57, 01-03-2016 | #4 |
Забанен Сообщения: 52
|
Amigos,
Если бы руками, то можно было и не акцентироваться на этом. Когда я рег-файл формирую в программе, то все остальные строки легко формируются в цикле: (курсивом - переменные) и лишь для RG_SZ т.е. из-за этого RG_SZ я вынужден вставлять проверку типа, когда для всех остальных нотация предусматривает обращение по типу непосредственно. . |
|
Отправлено: 15:59, 01-03-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Mersim, попробуйте использовать новый, юникодный формат — «Windows Registry Editor Version 5.00», причём в виде:
"Value E"=hex(1):<REG_SZ (as comma-delimited list of hexadecimal values representing a UTF-16LE NUL-terminated string)> Отсюда: Windows Registry: REG files - Wikipedia, the free encyclopedia |
Отправлено: 16:18, 01-03-2016 | #6 |
Забанен Сообщения: 52
|
Iska, спасибо. Я с этой страницы сюда и пришел :)
1. Мне очень не хочется уходить в юникод 2. Оно так же не работет :( Если ты акцентируешься на угловых скобках - то это ведь пример. В реале их не надо. Впрочем, я пытался в разных вариантах :) Чем черт не шутит :) ; BOF Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\!__2Del] "2del"="is deleted" "2dell"=dword:00003039 "2Delll"=hex(7):73,00,64,00,73,00,64,00,66,00,67,00,73,00,64,00,67,00,00,00,64,\ 00,66,00,64,00,66,00,67,00,00,00,00,00 "SZ_Sim"="Simple notation" ; all of lines below are ignored "SZ_Hex1"=hex(1):Hex notation "SZ_Hex2"=hex(1):"Hex notation" "SZ_Hex3"=hex(1):<Hex notation> "SZ_Hex4"=hex(1):<"Hex notation"> "Value E"=hex(1):<REG_SZ (as comma-delimited list of hexadecimal values representing a UTF-16LE NUL-terminated string)> ; EOF Я для чистоты эксперимента вначале экспортнул его из RegEdit в формате по умолчанию (не меняя на NT), а потом в нем делал правки. Руками :) . |
Отправлено: 17:21, 01-03-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Mersim:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Sample Key] "Sample parameter"=hex(1):1C,04,30,04,3C,04,30,04,20,00,3C,04,4B,04,3B,04,30,04,20,00,40,04,30,04,3C,04,43,04,21,00,00,00 Скрытый текст
Скрытый текст
Ясно же сказано: «as comma-delimited list of hexadecimal values representing a UTF-16LE NUL-terminated string». А у Вас что?! |
|
Отправлено: 22:25, 01-03-2016 | #8 |
Забанен Сообщения: 52
|
Да... Жестко я лопухнулся.
Все работает и под 4 и под 5. Вывод: параметр hex(n): не только указывает на тип Data, которые идут следом, но и вменяет hex-формат записи этих Data. Но, меня это не лечит совсем. В любом случае REG_SZ надо отслеживать - или чтобы сконвертить в hex, или чтобы записать, не используя тип. А если hex(n) все таки использовать, то читабельность рег-файла падает до нуля и ниже. Ну а косяк с тупым поведением RegEdit, когда он рапортует ОК при явных ошибках импорта, остается на совести Билла. . Цитата Iska:
. |
|
Отправлено: 22:35, 01-03-2016 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Mersim:
Цитата Mersim:
Цитата Mersim:
|
|||
Отправлено: 23:22, 01-03-2016 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как узнать какая версия ОС используется? и почему не работает идентификация | McLotos | Microsoft Windows 8 и 8.1 | 6 | 20-03-2013 16:08 | |
[решено] Как удалить REG_SZ? | vizent | Хочу все знать | 11 | 20-08-2012 18:48 | |
C/C++ - [решено] C# Invoke(), работает не как надо, почему? | Barit | Программирование и базы данных | 1 | 21-04-2012 15:02 | |
Не работает RegWrite(запись в реестр) на Windows 7 | sashadeg | AutoIt | 8 | 15-05-2009 22:40 | |
Не работает импорт в реестр через [GuiRunOnce] | Serg-13 | Автоматическая установка Windows 2000/XP/2003 | 3 | 09-11-2005 13:37 |
|