Форум: "Система";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
ВнизПерехват обращений других программ к реестру Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c