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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2014, 22:19   #1
Halogen
Пользователь
 
Аватар для Halogen
 
Регистрация: 23.11.2013
Сообщений: 46
Вопрос Работа с Реестром

Помогите разобраться читаю данные с реестра
Код:
var
  Reg:TRegistry;
begin
  Reg:=TRegistry.Create;
  Reg.RootKey:=HKEY_LOCAL_MACHINE;
  Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit', true);

Memo1.Lines.Text:=Reg.ReadString('Userinit');

  Reg.CloseKey;
  Reg.Free;
end;
Но программа говорит что там нету нечего, хотя когда я в ручную захожу через реестр по этому ключу я вижу что там есть данные, когда пытаюсь записать туда свои данные он пишет не поэтому адресу а записывает в HKEY_CURRENT_USER, почему это проявляется и как записать данные по нужному адресу ???
Halogen вне форума Ответить с цитированием
Старый 23.11.2014, 22:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может винда запрещает? UAC и все такое...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2014, 22:45   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Вырубите антивирус и пишите туда что хотите. Только свои трояны сами себе и ставьте.
Человек_Борща вне форума Ответить с цитированием
Старый 23.11.2014, 23:37   #4
Halogen
Пользователь
 
Аватар для Halogen
 
Регистрация: 23.11.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Вырубите антивирус и пишите туда что хотите. Только свои трояны сами себе и ставьте.
антивируса нету, фаервол отключен, пишу не троян а изучаю на какие ключи реестра и другие действия реагирует антивирус, вручную меняется а так не хочет

Цитата:
Сообщение от Stilet Посмотреть сообщение
Может винда запрещает? UAC и все такое...
UAC отключал вообще то есть не какого учета, не люблю когда при открытие файла выскакивает хочу ли я открыть (бесит это) может по этому не дает изменить ?

кстати сюда прописывается без проблем
Код:
var
Reg:TRegistry;
begin
CopyFile(PChar(ExtractFileName(Application.ExeName)),'ta.exe',False);
Reg:=TRegistry.Create;
Reg.RootKey:= HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false);
Reg.WriteString('ta','D:\1\C\C\1\ta.exe');
Reg.CloseKey;
Reg.Free;
end;

Последний раз редактировалось Stilet; 24.11.2014 в 07:48.
Halogen вне форума Ответить с цитированием
Старый 24.11.2014, 00:43   #5
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,844
По умолчанию

Цитата:
Сообщение от Halogen Посмотреть сообщение
когда я в ручную захожу через реестр по этому ключу я вижу что там есть данные
64-битная Винда и 32-битная программа. Угадал?
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Старый 24.11.2014, 01:03   #6
Halogen
Пользователь
 
Аватар для Halogen
 
Регистрация: 23.11.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
64-битная Винда и 32-битная программа. Угадал?
Да винда 64, а программа хз какая просто скомпилировал данный код в делфи 7
Halogen вне форума Ответить с цитированием
Старый 24.11.2014, 01:11   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Halogen Посмотреть сообщение
Да винда 64, а программа хз какая просто скомпилировал данный код в делфи 7
делфи 7 не умеет в принципе 64 бита.

далее еще насчет UAC, иногда все равно требуется указывать админские права.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.11.2014, 01:17   #8
Halogen
Пользователь
 
Аватар для Halogen
 
Регистрация: 23.11.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
делфи 7 не умеет в принципе 64 бита.

далее еще насчет UAC, иногда все равно требуется указывать админские права.
Буквально секунду назад пробовал запускать от админа тот же результат

О уже что то, путь прописывается теперь в
HKLM\Software\Wow6432node\microsoft \Windows NT\CurentVersion\Winlogon

Последний раз редактировалось Stilet; 24.11.2014 в 07:49.
Halogen вне форума Ответить с цитированием
Старый 24.11.2014, 02:32   #9
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,844
По умолчанию

Да, так и должно быть. Delphi 7 создает 32-битные приложения. Я угадал.
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Старый 24.11.2014, 08:09   #10
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

Код:
var
  Reg:TRegistry;
begin
  Reg:=TRegistry.Create;
  Reg.RootKey:=HKEY_LOCAL_MACHINE;
  Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', true);

Memo1.Lines.Text:=Reg.ReadString('Userinit');

  Reg.CloseKey;
  Reg.Free;
end;
Userinit это не раздел в реестре, а параметр, не надо его прписывать в OpenKey, а надо только в ReadString
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с реестром zetrix Безопасность, Шифрование 2 31.10.2007 12:20
Работа с реестром Хs-You Безопасность, Шифрование 9 16.08.2007 22:09
работа с реестром. kozei Win Api 6 17.07.2007 13:31
Работа с реестром. eL1tE Общие вопросы Delphi 5 16.04.2007 15:48