![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте. Пишу программу по контролю времени за ПК. Прописал в автозагрузку - работает. Но программу можно легко обмануть путем загрузки из безопасного режима, и перевода время и даты.
Теперь прописываю в ключ 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
|
|||
|
|||
![]() Ну так используй 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
|
|||
|
|||
![]() Цитата:
у меня реестр вызывается так: 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
|
||||
|
||||
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 13.12.2011 в 19:14. |
#5
|
|||
|
|||
![]() Цитата:
Теоретически может, но не она сама переходит куда вздумается, а windows перенаправляет её туда... Вопрос, как не дать windows перенаправлять из простой ветки в WoW6432None??? ![]() |
#6
|
||||
|
||||
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
![]() DJ PhoeniX, извините если напрягаю, скажите пожалуйста, я пишу на седьмом дельфине, и оно ругается на Reg.Access := KEY_WOW64_64KEY, мол неизвестный идентификатор KEY_WOW64_64KEY...
Подскажите пожалуйста, как быть? Добавить какую-то библиотеку или эта версии делфи чрезвычайно устарела??? Последний раз редактировалось tj.nelson, 13.12.2011 в 19:30. |
#8
|
||||
|
||||
![]() Столбец 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
|
|||
|
|||
![]() Цитата:
А через рег-файл не проще? Или нуно именно на дельфе? |
#10
|
|||
|
|||
![]() Цитата:
|
#11
|
|||
|
|||
![]() Цитата:
![]() |
#12
|
|||
|
|||
![]() Кстати, может прописную истину говорю, но на 7-ке надо под админом (или не под админом, но от имени админа запускать для ветки HKLM). Может на это ругается?
|
#13
|
|||
|
|||
![]() Цитата:
|
#14
|
|||
|
|||
![]() DJ PhoeniX спасибо, все работает! Ребят, спасибо всем!
|