Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.011 c
7-77653
Alex_LG
2002-03-27 03:11
2002.06.24
Как для IE программно поставить/сменить прокси?


3-77307
Pavel_S
2002-05-30 10:43
2002.06.24
Событие BeforeScroll


4-77690
ActiveX
2002-04-19 16:44
2002.06.24
ActiveX


1-77495
do_the_right_thing
2002-06-12 00:38
2002.06.24
listbox


1-77354
Visit
2002-06-13 10:17
2002.06.24
Номер релиза разрабатываемого приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский