0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25

Импорт REG файла

10.01.2018, 08:54. Показов 4316. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у меня задался вопрос, странное поведение в реестре. Проблема такая, не могу импортировать рег файл программно, я не первый раз
работаю с реестром, но эта проблема первый раз. Файл не импортируется в ветку HKEY_LOCAL_MACHINE\SOFTWARE а в остальные добавляются даже сюда HKEY_LOCAL_MACHINE\SYSTEM.
Если кликать по файлу то добавляется успешно, но с программой никак, пробовал вот эти

ShellExecute(0,nil,'regedit.exe',PC har('/s c:\regfile.reg'),nil,0);
и
WinExec('regedit.exe /s c:\regfile.reg',0);

В рег файле указана ветка HKEY_LOCAL_MACHINE\SOFTWARE если поменять SOFTWARE на другие разделы то добавляется.

Если сделать reg import c:\regfile.reg или regedit.exe /s c:\regfile.reg через обычной командной стракой (cmd) то работает нормально, и через команду выполнить.

Еще пробовал через батник, создал файла cmd.bat и записал строку regedit.exe /s c:\regfile.reg сохраняешь и кликаешь, успех!! а если
запустить этот батник так ShellExecute(0,nil,'c:\cmd.bat',nil ,nil,0); полный тормоз.
Даже пробовал так, создал 2 батника чтоб первый запустил второго, а второй импорт файла, запускаю первый батник в программе, и полный тормоз.

Думал может у моей проги нет доступа к этому разделу и отключил полностью учетку UAC и даже в программе включил привилегию разработчика EnableDebugPrivilege(True);
не пашет, ребята помогите разобраться, может кто то уже столкнулся с такой проблемой.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.01.2018, 08:54
Ответы с готовыми решениями:

Занесение данных в реестр из reg-файла
Всем привет Для занесения данных в реестр с .reg файла я использую следующий код: procedure TForm1.Button1Click(Sender: TObject); ...

На основе кода REG-файла написать код BAT-файла
Всем Доброго Дня, попрошу вас меня понять) мне необходимо сделать батник из .reg файла ...

Fatal error: in D:\OSPanel\domains\localhost\reg\reg.php on line 31
Очень долго искал информацию как это исправить : $user = 'root'; $password = '123456789'; $db = 'tasting'; $host = '127.0.0.1'; ...

10
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25
11.01.2018, 23:44  [ТС]
Если полный бред то я бы не писал сюда. Обошелся по другому, записал все бинарные данные в саму программу и оттуда записываю на прямую в реестр. Программа записывает нормально а вот импортировать из файла в каталог SOFTWARE не хочет.
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
14.01.2018, 12:02
erlan86, у Вас, наверное, Delphi 7, так?
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25
14.01.2018, 12:10  [ТС]
Нет, XE7
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
14.01.2018, 14:37
erlan86, ОС 64-битная? А Delphi какой разрядности, x86?
Ваша проблема может быть связана с этим, жду ответа
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25
14.01.2018, 15:19  [ТС]
Да Win 64 Delphi 86
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
14.01.2018, 18:37
erlan86, прочитайте вот это Опять подводные грабли или Delphi 7 шутит?
Там я подробно описал проблему взаимодействия 32-битных приложений с 64-битной виндой.
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25
14.01.2018, 20:26  [ТС]
Что Вы хотели сказать, Вы имеете введу что импорт рег файла возможно только на 32 разрядной системе, если да то я и на 32-м Винде пробовал, не пашет. Ваше описание может имеет отношение к записи данных а не импорт файла, для примера я пробовал на Дельфи 7 сделать запись в ветки HKEY_LOCAL_MACHINE\SOFTWARE, он вообще не пишет ничего, а на XE7 пишет куда угодно, только вот кроме импорта файла в ветку HKEY_LOCAL_MACHINE\SOFTWARE, проблему так и не нашел, решил проблему записав все данные в саму программу и оттуда записать в реестр.
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
14.01.2018, 23:51
Лучший ответ Сообщение было отмечено Joey как решение

Решение

erlan86, не знаю, как точно Вы запускаете рег-файл, но вот рабочий код, который я только что проверил (если Вам надо именно через ShellExecute):
Delphi
1
ShellExecute(0, nil, 'C:\test.reg', nil, nil, SW_SHOWNORMAL);
REG-файл
Code
1
2
3
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\test_01]

На x86 винде код сработал и добавил раздел HKLM\SOFTWARE\test_01.
НО, на x64 винде код добавил этот же подраздел в папку HKLM\SOFTWARE\Wow6432Node, как и должен, о чем я Вам и говорил
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 25
15.01.2018, 00:35  [ТС]
Ничего себе, Ты был прав, мои ранее сделанные попытки оказались в разделе HKLM\SOFTWARE\Wow6432Node. Значить программу надо создать как 64 битный. Отсюда появляется один вопрос, как тогда программы узнают что моя прога 32 битная. Когда добавляешь через батник то нормально, а если запустить этот батник через программу то сюда HKLM\SOFTWARE\Wow6432Node. Значить есть функции которые могут узнавать кто запускает файл и разрядность.
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
15.01.2018, 01:31
Цитата Сообщение от erlan86 Посмотреть сообщение
Значить есть функции которые могут узнавать кто запускает файл
Система сама контролирует это. Подробнее можно почитать по запросу WoW64, например, в вике WoW64 (Windows 32-bit on Windows 64-bit) https://en.wikipedia.org/wiki/WoW64
Таковым способом был сделан почти безболезненный переход на 64-битную разрядность, с возможностью (относительной) бесконфликтно переходить на нее со своими 32-битными программами, пока софтоделы не очнулись.

Вот разделы, затрагиваемые данной проблемой https://msdn.microsoft.com/en-... 85%29.aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2018, 01:31
Помогаю со студенческими работами здесь

Чтение reg файла
Каким образом можно сделать чтение файла HKEY_CURRENT_USER реестр а чтобы работало при нажатии на button

Создание .reg файла
Имеется программа, настройки которой хранятся в реестре по пути HKEY_CURRENT_USER\\Software\\MyProgram В самой папке MyProgram записано...

Загрузка reg-файла
Как загрузить в реестр reg-файл через пакетный сценарий, чтобы при этом не выводилось этих глупых сообщений?

Перенести информацию с .reg файла в C#
В общем, нужно перевести с .reg файла на c#, но там используется hex и я не знаю, что делать. Windows Registry Editor Version 5.00 ...

Написание reg файла для смены TTL
Знаю, что изменить TTL довольно просто. Но хотелось бы сделать reg-файл для внесения в реестр изменений. Опыта в этом нет, и не очень понял...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru