Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.12.2011, 18:33
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию Помогите разобраться с реестром windows 7

Здравствуйте. Пишу программу по контролю времени за ПК. Прописал в автозагрузку - работает. Но программу можно легко обмануть путем загрузки из безопасного режима, и перевода время и даты.
Теперь прописываю в ключ HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon Shell := Explorer.exe, c:\proga.exe
Проблема:
В ХР работает только так, на отично...
Но а в Windows 7, вместо записи в ветку HKLM\Software\Microsoft\Windows NT.... записывает автоматически в
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT...

Подскажите, как этого избежать и записать все таки в HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon???
P.S. Я честно обьяснил намеренья моей программы. Не надо говорить что я вирусописатель! Я на стороне добра и света
Ответить с цитированием
  #2  
Старый 13.12.2011, 18:52
m1sclick m1sclick вне форума
Начинающий
 
Регистрация: 04.07.2011
Адрес: Украина
Сообщения: 186
Версия Delphi: 2010
Репутация: 2094
По умолчанию

Ну так используй OpenKey.
Код:
var
  Reg: Tregistry;
begin
  Reg:= TRegIniFile.Create;
  Reg.RootKey:=HKEY_LOCAL_MACHINE;
  Reg.OpenKey('Software',true);
  Reg.OpenKey('Microsoft',true);
  Reg.OpenKey('Windows NT',true);
  //-//-//-//
end;

Самостоятельно оно не может переходить куда вздумается. Ищи ошибку в коде.
Ответить с цитированием
  #3  
Старый 13.12.2011, 18:57
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от m1sclick
Самостоятельно оно не может переходить куда вздумается. Ищи ошибку в коде.

у меня реестр вызывается так:
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',true);
reg.WriteString('Shell', reg1);

Может из за того, что я использую одну строку вместо постоянного OpenKey! НЕТ
Не из за этого...все равно идет переход в ветку Wow6432Node.
А эта ветка не грузится в безопасном режиме

Последний раз редактировалось tj.nelson, 13.12.2011 в 19:07.
Ответить с цитированием
  #4  
Старый 13.12.2011, 19:12
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Это не из-за Windows 7. Это из-за битности ОСи. В google подробнее.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 13.12.2011 в 19:14.
Ответить с цитированием
  #5  
Старый 13.12.2011, 19:12
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
Печаль

Цитата:
Сообщение от m1sclick
Самостоятельно оно не может переходить куда вздумается. Ищи ошибку в коде.

Теоретически может, но не она сама переходит куда вздумается, а windows перенаправляет её туда...
Вопрос, как не дать windows перенаправлять из простой ветки в WoW6432None???
Ответить с цитированием
  #6  
Старый 13.12.2011, 19:15
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

http://msdn.microsoft.com/en-us/library/aa384129.aspx
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #7  
Старый 13.12.2011, 19:27
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

DJ PhoeniX, извините если напрягаю, скажите пожалуйста, я пишу на седьмом дельфине, и оно ругается на Reg.Access := KEY_WOW64_64KEY, мол неизвестный идентификатор KEY_WOW64_64KEY...

Подскажите пожалуйста, как быть? Добавить какую-то библиотеку или эта версии делфи чрезвычайно устарела???

Последний раз редактировалось tj.nelson, 13.12.2011 в 19:30.
Ответить с цитированием
  #8  
Старый 13.12.2011, 19:29
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Столбец Value...
KEY_WOW64_64KEY = 0x0100 (с/c++) = $0100 (delphi)
KEY_WOW64_32KEY = 0x0200 (с/c++) = $0200 (delphi)

Ну и я не знаю точно, поддерживает ли TRegistry эту фичу. Лучше бы, конечно, через WinAPI напрямую это делать.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 13.12.2011 в 19:32.
Ответить с цитированием
  #9  
Старый 13.12.2011, 19:55
U.B.M. U.B.M. вне форума
Новичок
 
Регистрация: 06.10.2011
Сообщения: 94
Версия Delphi: Delphi 7
Репутация: 13
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
Столбец Value...
KEY_WOW64_64KEY = 0x0100 (с/c++) = $0100 (delphi)
KEY_WOW64_32KEY = 0x0200 (с/c++) = $0200 (delphi)

Ну и я не знаю точно, поддерживает ли TRegistry эту фичу. Лучше бы, конечно, через WinAPI напрямую это делать.

А через рег-файл не проще? Или нуно именно на дельфе?
Ответить с цитированием
  #10  
Старый 13.12.2011, 19:56
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
Столбец Value...
Извиняюсь, но что это за столбец такой, и где он находится???
Ответить с цитированием
  #11  
Старый 13.12.2011, 19:57
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от U.B.M.
Или нуно именно на дельфе?
Угу, к сожалению....
Ответить с цитированием
  #12  
Старый 13.12.2011, 20:00
U.B.M. U.B.M. вне форума
Новичок
 
Регистрация: 06.10.2011
Сообщения: 94
Версия Delphi: Delphi 7
Репутация: 13
По умолчанию

Кстати, может прописную истину говорю, но на 7-ке надо под админом (или не под админом, но от имени админа запускать для ветки HKLM). Может на это ругается?
Ответить с цитированием
  #13  
Старый 13.12.2011, 20:04
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от U.B.M.
Кстати, может прописную истину говорю, но на 7-ке надо под админом (или не под админом, но от имени админа запускать для ветки HKLM). Может на это ругается?
я и так от админа....тут несколько сложней...разрядность сисмемы
Ответить с цитированием
  #14  
Старый 13.12.2011, 20:09
tj.nelson tj.nelson вне форума
Прохожий
 
Регистрация: 13.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

DJ PhoeniX спасибо, все работает! Ребят, спасибо всем!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025