Вверх ↑
Этот топик читают: Гость
Ответов: 22
Рейтинг: 1
#1: 2009-11-19 17:41:58 ЛС | профиль | цитата
Всех приветствую. У меня два вопроса. Хотел для себя сделать небольшой твикер реестра, который будет по нажатию на определенную кнопку добавлять определенные данные в реестр. Сразу появились вопросы.
Первое: Можно ли компонентом Реестр из файла REG добавить данные в реестр без запроса подтверждения Regedit? Как не делал всё равно выскакивает диалог с запросом на подтверждение.
Схема:
code_15729.txt

Второй вопрос: Можно ли в один компонент Реестр вставить штук тридцать даннных для добавления в реестр и без использования REG-файлов? Я имею в виду, чтобы было не так как на схеме ниже , а чтобы за счет всего одного компонента?
code_15730.txt
карма: 0

0
файлы: 2code_15729.txt [383B] [232], code_15730.txt [12.7KB] [194]
Ответов: 5446
Рейтинг: 323
#2: 2009-11-19 17:46:34 ЛС | профиль | цитата
Тебе помогут массивы. Дальше разжёвывать не буду, сам разберёшься по примерам.
карма: 1

0
Ответов: 22
Рейтинг: 1
#3: 2009-11-19 17:56:41 ЛС | профиль | цитата
Ok. Спасибо, буду разбираться.
А по поводу первого вопроса?
карма: 0

0
Ответов: 2125
Рейтинг: 159
#4: 2009-11-19 18:09:31 ЛС | профиль | цитата
А по поводу первого вопроса: FileName - это запускаемая программа, т.е. должно быть regedit, а Param - это её параметры, т.е. /s file.reg
карма: 1

0
Ответов: 22
Рейтинг: 1
#5: 2009-11-19 18:33:22 ЛС | профиль | цитата
tsdima и iarspider, спасибо. Всё получилось.
карма: 0

0
Ответов: 416
Рейтинг: 57
#6: 2010-11-01 23:35:07 ЛС | профиль | цитата
Следующими двумя способами пробовал занести данные в реестр:

Add(Registry,6677049,378,168)
{
HKey=2
Point(doHKey)
link(Data,12922469:Text,[(384,149)(349,149)])
link(Key,9329675:Text,[])
link(Value,12478733:Text,[(398,146)(433,146)])
}
Add(Edit,943681,280,126)
{
Left=5
Width=180
Text="HKEY_LOCAL_MACHINE"
}
Add(Edit,12922469,343,91)
{
Left=40
Top=50
Width=210
Text=".PICP"
}
Add(Edit,9329675,385,91)
{
Left=25
Top=25
Width=180
Text="SOFTWAREClasses"
}
Add(Edit,12478733,427,91)
{
Left=425
Top=55
Text=""
}
Add(Button,2601327,189,182)
{
Left=35
Top=90
Width=65
Caption="Записать"
link(onClick,1908592:doEvent1,[])
}
Add(DoData,4137647,280,182)
{
link(onEventData,6677049:doHKey,[])
link(Data,943681:Text,[])
}
Add(Hub,1908592,245,182)
{
link(onEvent1,4137647:doData,[])
link(onEvent2,6677049:doWrite,[(319,195)(319,181)])
}
Add(Registry,16449484,378,245)
{
HKey=2
Key="SOFTWAREClassesPICfileshellopencommand"
Data=".PICP"
Point(doHKey)
}


Вместо того, что бы занести их в: HKEY_LOCAL_MACHINESOFTWAREClasses
они попадают в: HKEY_LOCAL_MACHINESOFTWAREClassesSOFTWAREClasses
Почему?

Если не затруднит, посмотрите это только у меня так?
карма: 0

0
Ответов: 1376
Рейтинг: 198
#7: 2010-11-02 00:28:23 ЛС | профиль | цитата
Poputchik, попробуй в doHKey индекс ветви ввести
------------ Дoбавленo в 00.28:
Вот так

Add(Registry,6677049,490,294)
{
HKey=2
Point(doHKey)
link(Data,12922469:Text,[(496,275)(461,275)])
link(Key,9329675:Text,[])
link(Value,12478733:Text,[(510,272)(545,272)])
}
Add(Edit,943681,392,224)
{
Left=5
Width=180
Text="HKEY_LOCAL_MACHINE"
}
Add(Edit,12922469,455,217)
{
Left=40
Top=50
Width=210
Text=".PICP"
}
Add(Edit,9329675,497,217)
{
Left=25
Top=25
Width=180
Text="SOFTWAREClasses.PICP"
}
Add(Edit,12478733,539,217)
{
Left=345
Top=10
Text=".PICP"
}
Add(Button,2601327,301,308)
{
Left=35
Top=90
Width=65
Caption="Записать"
link(onClick,1908592:doEvent1,[])
}
Add(DoData,4137647,392,308)
{
Data=Integer(2)
link(onEventData,6677049:doHKey,[])
}
Add(Hub,1908592,357,308)
{
link(onEvent1,4137647:doData,[])
link(onEvent2,6677049:doWrite,[(431,321)(431,307)])
}


карма: 1

0
Ответов: 416
Рейтинг: 57
#8: 2010-11-02 00:33:25 ЛС | профиль | цитата
foksov писал(а):
попробуй в doHKey индекс ветви ввести
В таком варианте я записи в реестре вообще не нашел.
карма: 0

0
Ответов: 1376
Рейтинг: 198
#9: 2010-11-02 00:36:37 ЛС | профиль | цитата
HKEY_LOCAL_MACHINESOFTWAREClasses.PICP ещё дописывай
карма: 1

0
Ответов: 416
Рейтинг: 57
#10: 2010-11-02 00:39:19 ЛС | профиль | цитата
foksov писал(а):
HKEY_LOCAL_MACHINESOFTWAREClasses.PICP ещё дописывай

Твой пример запускал
Если индексом то ненахожу, а если HKEY_LOCAL_MACHINE то
Poputchik писал(а):
HKEY_LOCAL_MACHINESOFTWAREClassesSOFTWAREClasses

карма: 0

0
Ответов: 1376
Рейтинг: 198
#11: 2010-11-02 00:41:46 ЛС | профиль | цитата
Так у меня записывает
code_21359.txt
карма: 1

0
файлы: 1code_21359.txt [1002B] [250]
Ответов: 416
Рейтинг: 57
#12: 2010-11-02 00:46:45 ЛС | профиль | цитата
Не хочет у меня!!
Мог я какую либо нужную службу отрубить, что оно у меня не туда записывает?
Или еще что накрутить?
По идеи - не мог, комп работает нормально, программы видят свои файлы, редактор реестра запускается, косяков и ошибок в Винде не наблюдал.
Может в HiAsmе, что мог подпортить?

карма: 0

0
Ответов: 1376
Рейтинг: 198
#13: 2010-11-02 00:50:57 ЛС | профиль | цитата
А в HKEY_CURRENT_USER записывается?
Вот ещё с ComboBox'ом
code_21360.txt
карма: 1

1
файлы: 1code_21360.txt [1.1KB] [275]
Голосовали:Poputchik
Ответов: 416
Рейтинг: 57
#14: 2010-11-02 01:06:58 ЛС | профиль | цитата
code_21361.txt
Вот так записалось и в HKEY_CURRENT_USER и в LOCAL_MACHINE
Спасибо за содействие!

P.S. Вот только что делать если понадобится заносить значения в другие
разделы реестра?
карма: 0

0
файлы: 1code_21361.txt [882B] [488]
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)