Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.74/23: Рейтинг темы: голосов - 23, средняя оценка - 4.74
 Аватар для Денис Шиловский
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 28

Как произвести запись в системный реестр Windows

18.08.2009, 13:07. Показов 4741. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хотел бы узнать поподробнее, как из программы написанной
на языке С++, можно обратится к системному реестру Windows и записать
туда любые параметры, по своему усмотрению. Известно, что файлы
системного реестра Windows:
C:\WINDOWS\user.dat
и
C:\WINDOWS\system.dat

....являются интегрированной базой данных. Поэтому, для записи в эти файлы
реестра Windows в системах программирования, типа C++ Boilder, предусмотрена
специальная процедура. При этом, коды параметров записываются в двоичном
виде и строго в указанные места, общей бызы данных системного реестра. Записывать
в системный реестр, как в обычный текстовой или двоичный файл нельзя!!! Иначе,
этим можно только, испортить системные файлы и тогда Windows, просто не будет
загружаться, при последующей перезагрузке компьютера. Если, это не дай Бог случилось,
то тогда Windows приходится переустанавливать заново.
К тому же в современных операционных системах, типа Windows XP, резидентный
менеджер безопасности системы, может принять подобные действия прикладной
программы за вирус и заблокиловать её дальнейшие действия, выдав тривожное
сообщение на экран компьютера. Это же сделает и любая Антивирусная программа,
которая установлена на компьютере.
Конечно, для активизации параметров системного реестра, можно создавать в обычном
текстовом редакторе файлы с расширением .REG c нужными параметрами, а затем открывая
их, они по указанию будут записыватся в него. Но, как быть, если я например, хочу написать
на языке С++ программу установки ПО, типа SETUP.EXE и мне нужно, чтобы она сама автоматически
записывала нужные параметры в системный реестр Windows. При этом, совсем не обязательно,
чтобы они содержались в отдельных файлах, типа .REG, а могли быть и "внедрены" в сам
исходник программы установки. Здесь, важно знать, как можно записать в системный реестр
пареметры по собственному усмотрению, обходясь без программы REGEDIT самого Windows.
Какой, здесь код доступа?
Итак, кто знает как это делается на языке С++, пусть поможет мне. Я возлагаю надежды на
Вашу добросовестную помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2009, 13:07
Ответы с готовыми решениями:

Как сделать запись в реестр win7 64. В реестр попадает только последняя запись
Добрый вечер! Не могу сделать запись в реестр win7 64. Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine; ...

Системный Реестр в WINDOWS NT.
В программе должно быть реализовано: - создание подраздела в системном Реестре; - задание параметров подраздела в системном Реестре; ...

Системный реестр, будет ли адрес одинаковый на разных ПК и/или Windows
Здравствуйте. Пробую узнать через реестр, установлена ли программа. На моем компе Window 7. Программа, которую ищу, установлена...

5
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 13:26
в C++ Builder для этого создан отличный класс TRegistry.
На форуме уже не раз описывалась работа с ним. Используй поиск по форуму.

Например вот:
Работа с реестром(автозагрузка)
1
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
18.08.2009, 14:28
Цитата Сообщение от Денис Шиловский Посмотреть сообщение
Но, как быть, если я например, хочу написать
на языке С++ программу установки ПО, типа SETUP.EXE и мне нужно, чтобы она сама автоматически
записывала нужные параметры в системный реестр Windows.
Вы когда нибудь слышали про API функции типа RegCreateKeyEx, RegCloseKey, RegDeleteKey, RegOpenKey и другие подобные?
1
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
20.08.2009, 21:30
Известно, что файлы
системного реестра Windows:
C:\WINDOWS\user.dat
и
C:\WINDOWS\system.dat
В Windows XP нет таких файлов.
И вообще в семействе начиная с NT и выше таких файлов скорее всего тоже нет.
Вообщем реестр лежит совсем не там.
1
 Аватар для Денис Шиловский
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 28
21.08.2009, 00:15  [ТС]
Я скажу вот, что:
Есть и нет, это не имеет никакого значения.
От того, в каких файлах находится системный
реестр, здесь ничего не меняется. Суть вопроса,
здезь не в этом.
Впрочем, в этой теме я от своих коллег системных
программистов, уже узнал то, чего хотел. А именно,
как надо из программы написанной на языке С++ получить
доступ к системному реестру Windows и при желании, внего
вносить изменения.
По любому, для того, чтобы записывать в системный реестр
надо знать, как - это делается. И я уже узнал об этом.
А где именно, в разных версиях операционной системы
Windows, он находится, здесь абсолютно не важно. Потому,
что для записи в него существует специальная процедура.
Так, что впредь, перед тем, как отвечать по теме, надо
правельно понять суть вопроса.
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
21.08.2009, 00:20
Цитата Сообщение от Денис Шиловский Посмотреть сообщение
Так, что впредь, перед тем, как отвечать по теме, надо
правельно понять суть вопроса.
Ответ был дан, а заодно даны дополнительные пояснения выходящие за рамки вопроса по поводу неверного утверждения, что само по себе полезно. В общем,тема закрыта.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2009, 00:20
Помогаю со студенческими работами здесь

Запись в реестр Windows
Не получается создать новый раздел в HKEY_CURRENT_USER\Software\ , сижу под админом, с помощью regedit получается создавать разделы. Вот...

Запись в реестр в windows 8: Запрошенный доступ к реестру запрещен
При обращении к реестру в windows 8 винда ругается : System.Security.SecurityException: Запрошенный доступ к реестру запрещен. в...

Как освоить системный реестр, разве можно его читать?
mik-a-el, я полный пока еще делитант в компах но желание освоить большое, перелпатил много теории а практики пока нет даже завел себе...

Как добавить запись в реестр?
Пытаюсь добавить программу в автозагрузку, но выдает ошибку reg add ...

Пример программы для работы с системным реестром (установить в автозагрузку)
нид код проги которая роботает из системным реестром


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Закрытая тема Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru