Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
8-77512
serjant
2002-01-31 10:15
2002.06.24
Как встроить Flash-клип в Delphi


1-77428
Miss
2002-06-10 12:46
2002.06.24
Передача фокуса ввода другому элементу нажатием Enter


4-77695
Сержик
2002-04-27 12:59
2002.06.24
Как перехватить нажатие кнопки?


1-77353
Exploited
2002-06-12 15:03
2002.06.24
Чтение параметра из реестра.


4-77702
Falcon
2002-04-23 15:17
2002.06.24
Как вытащить имена Items (caption) из окна




   Наверх