Chern
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору fly_house У меня такая же проблема. Но из того, что я пока накопал в интернете, следует что проблема в Фаре, так как он не работает с Unicode в реестре, а именно с разделами HKCR\.gif и прочими, которые были защищены какой-то программой следующим методом: Цитата: «How is this possible? The answer is that a name which is a counted Unicode string can explicitly include NULL characters (0) as part of the name. For example, "Key\0". To include the NULL at the end the length of the Unicode string is specified as 4. There is absolutely no way to specify this name using the Win32 API since if "Key\0" is passed as a name, the API will determine that the name is "Key" (3 characters in length) because the "\0" indicates the end of the name». Коротко говоря, когда вы создаете ключ реестра с помощью RegCreateKey (Win32 API), то передаете строку с именем ключа (например «Key»), но длину строки вы не указываете, функция высчитывает ее сама (как только встретит 0x0). А при использовании функции NtCreateKey (Native API), мы обязаны явно указать какой длины хотим создать ключ, по этому для строки «Key» можно определить длину как 4 и потом эту ветку, из-за несовпадения длин, будет невозможно открыть функциями Win32 API. | Эти же файлы без проблем открываются в Total commander и проводнике. Как мне думается, выходом из этой проблемы остается разблокировка соответствующих разделов в реестре, но как - неизвестно. Я уже задал такой вопрос в разделе форуме Реестр Windows XP, жду ответа. |