0
Бертыш
01.03.13
✎
14:54
|
Пробую обратится к реестру. И через 1С++ пробовал и через скрипты пробовал.
В ветке
HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles
все прекрасно перебирается, а ветке скажем
HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Информационная База #9\Config\Recent File List
Значения есть, но не перебираются
Вероятно проблема в кириллическом наименовании ключа.
Посоветуйте бывалые.
|
|
1
antoneus
01.03.13
✎
15:19
|
Всё читает
Процедура Сформировать()
Перем Значение, ИмяЗначения;
Список = СоздатьОбъект("СписокЗначений");
Реестр = СоздатьОбъект("РеестрWin");
Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Software\1C\1Cv7\7.7\Омега ЗиК\Config\Recent File List", "KEY_READ");
Реестр.ВыбратьЗначения();
Пока Реестр.ПолучитьЗначение(ИмяЗначения) = 1 Цикл
Реестр.ЗапроситьЗначение(ИмяЗначения, Значение);
Список.ДобавитьЗначение(ИмяЗначения, Значение);
КонецЦикла;
КонецПроцедуры
|
|
2
Бертыш
01.03.13
✎
16:30
|
Процедура Сформировать(Ключ="Software\1C\1Cv7\7.7\Titles",фл=0)
Сообщить(Ключ);
ТЗ.Очистить();
ТЗ.НоваяКолонка("Название");
ТЗ.НоваяКолонка("Путь");
ТЗ.НоваяКолонка("Флаг","Число");
Рег=СоздатьОбъект("РаботаСРегистромWin");
Рег.ОткрытьКлюч("HKEY_CURRENT_USER",Ключ,"KEY_READ");
Рег.ВыбратьЗначения();
Путь="";
Название="";
Пока Рег.ПолучитьЗначение(Путь)=1 Цикл
Рег.ЗапроситьЗначение(Путь,Название);
ТЗ.НоваяСтрока();
ТЗ.Название=Название;
ТЗ.Путь=Путь;
Стр="";
Название="";
КонецЦикла;
Рег="";
ТЗ.Сортировать("Название");
Форма.Назад.Доступность(?(Ключ="Software\1C\1Cv7\7.7\Titles",0,1));
КонецПроцедуры
Не работает :(
Я сначала через Titles выбираю перечень баз, а потом пытаюсь в ветку базы лезть. Может ещё подскажете как заставить корректно отрабатывать, а то попытка сделать так
Рег.ВыбратьКлючи();
Пока Рег.ПолучитьКлюч(Стр)=1 Цикл
Сообщить(Стр);
КонецЦикла;
уходит в бесконечный цикл.
|
|