Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: CL | DM;

Вниз

Перехват обращений других программ к реестру   Найти похожие ветки 

 
Seroga   (2002-03-26 22:03) [0]

Возможно ли это в принципе?? Если да,то как в программе отследить такое обращение(например к ключу с
именем пользователя или компьютера в сети)и заменить его?


 
Adder ©   (2002-03-27 02:59) [1]

Можно. Поковыряйся в исходниках Regmon.
regsrc.zip Download Regmon plus source (284KB) [ http://www.sysinternals.com/files/regsrc.zip]


 
Igor Timofeev   (2002-03-28 02:14) [2]

Насколько я знаю, специального сообщения, посылаемого системой об изменении реестра, нет. Я выходил из ситуации следующим образом. Делал программку, которая в потоке постоянно отслеживала состояние определенного ключа реестра, т.е. читал значение и сравнивал его со своим. Ну а дальше уж по своему усмотрению. Примерно вот так:
-----------------------------------------------
type
TRegister = class(TThread)
private
{ Private declarations }
protected
Reg:TRegistry;
procedure Execute; override;
end;

implementation

procedure TRegister.Execute;
begin
Reg := TRegistry.Create;
while not(Terminated) do
begin
WaitForSingleObject(GetCurrentThread,0);
begin
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(
"\Software\Microsoft\Windows\CurrentVersion\Run",True)
then
if Reg.ReadString("WinLogon")<>"Logn.exe" then
begin
MessageDlg(
"Windows не может удалить этот параметр реестра !"
,mtError,[mbOK],0);
Reg.WriteString("WinLogon","Logn.exe");
end;
except
MessageDlg("Ошибка системного реестра !",mtError,[mbOK],0);
end;
end;
end;
Reg.free;
end;


 
Nebula ©   (2002-03-29 10:41) [3]

RegNotifyChangeKeyValue. А в regmon, также как и в filemon, это реализовано при помощи драйвера :) На уровне драйверов такие сообщения проходят.


 
Seroga   (2002-03-29 22:06) [4]

Большое СПАСИБО за ответы!Попробую все это посмотреть.
Вопрос на засыпку: А если эта другая(не моя)прога просто читает данные из реестра,то возможно ли вообще узнать об этом?


 
cok ©   (2002-03-30 09:08) [5]

2 Nebula ©
>LONG RegNotifyChangeKeyValue(

HKEY hKey, // handle of key to watch
BOOL bWatchSubtree, // flag for subkey notification
DWORD dwNotifyFilter, // changes to be reported
HANDLE hEvent, // handle of signaled event
BOOL fAsynchronous // flag for asynchronous reporting
);
А что указавать в hEvent? (привиди пожалуйста пример), а то у меня ошибки выводятся (что я только туда не сувал)



 
Гуру   (2002-03-31 10:14) [6]

Сунь в hHandle (гусары, молчать!) хэндл твоего эвента, который ты будешь ждать в WaitForSingleObject()



Страницы: 1 вся ветка

Текущий архив: 2002.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-77386
Random bystander
2002-06-13 12:40
2002.06.24
А как бы мне с ресурсами подружиться ?


7-77630
White
2002-03-28 13:19
2002.06.24
Как программно определить версию Windows ?


3-77253
xaem
2002-05-29 20:47
2002.06.24
Помогите с BDE


1-77439
PTE
2002-06-10 12:23
2002.06.24
Печать fsMDIChild


1-77400
OK
2002-06-13 16:50
2002.06.24
При отладке DLL под XP не работают точки останова в коде.