Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2018, 01:20   #1
erlan86
 
Регистрация: 08.03.2017
Сообщений: 9
По умолчанию Импорт REG файла

Всем привет, у меня задался вопрос, странное поведение в реестре. Проблема такая, не могу импортировать рег файл программно, я не первый раз
работаю с реестром, но эта проблема первый раз. Файл не импортируется в ветку 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);
не пашет, ребята помогите разобраться, может кто то уже столкнулся с такой проблемой.
erlan86 вне форума Ответить с цитированием
Старый 10.01.2018, 04:15   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

А попробуйте тогда
Код:
ShellExecute(0,nil,'cmd.exe',PChar('/c reg import c:\regfile.reg'),nil,0);
Black Fregat вне форума Ответить с цитированием
Старый 10.01.2018, 08:49   #3
erlan86
 
Регистрация: 08.03.2017
Сообщений: 9
По умолчанию

Так тоже пробовал.
erlan86 вне форума Ответить с цитированием
Старый 10.01.2018, 09:56   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

явно не хватает прав на запись в реестр.
1) попробуйте запустить вашу программу на Delphi от имени Администратора
или
2) попробуйте использовать в батнике команду runas

есть и другие варианты решения проблемы.

p.s. а если не секрет, зачем в программе на Delphi регулярно импортировать REG файлы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.01.2018, 08:33   #5
erlan86
 
Регистрация: 08.03.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
p.s. а если не секрет, зачем в программе на Delphi регулярно импортировать REG файлы?
Нет не секрет, собирал rms.
Я все пробовал, думаю права есть, в манифесте указан runas.
Обошелся по другому, записал все бинарные данные в саму программу и оттуда записываю на прямую в реестр. Программа записывает нормально а вот импортировать из файла в каталог SOFTWARE не хочет.
erlan86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
импорт эксель файла Tyoma5891 PHP 1 23.02.2014 17:47
Импорт из файла *.bin mchip Microsoft Office Excel 2 14.05.2013 15:54
Запрос на импорт из файла Emmelman SQL, базы данных 0 08.02.2013 11:52
Запись в реестр из reg файла в windows 7 x64 Алексей_C Общие вопросы Delphi 8 20.02.2011 07:43
запуск reg файла SL1CK Общие вопросы Delphi 3 21.11.2009 22:17