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

Вниз

Системные ловушки и VCL   Найти похожие ветки 

 
ikar   (2001-12-08 13:51) [0]

Необходимо вызвать VCL форму из своей ловушки.
Возможноли и как зарегистрировать свою ловушку из своего exe файла.


 
VladD2   (2001-12-10 00:41) [1]

Ловушка это Hook что ли? Hook если да, то какая облатсь видимости. Я так понял чужие приложения. Да? Если так, то...

Возможноли и как зарегистрировать свою ловушку из своего exe файла.

Нет. Веренее не совсем. Для этого Hook нужно засунить в длл. Но exe-шник нужен для запуска этого Hook-а. Ну, а далее запускай форму, только помни, что главное коно приложения в длл-и (у Дельфи) не создано.


 
Digitman   (2001-12-10 08:25) [2]

>VladD2
"Для этого Hook нужно засунить в длл" - а что, без DLL при генерации хука никак не обойтись, по-твоему ?


 
ikar   (2001-12-10 09:10) [3]

Ловушка этр Hook. Нужно вызывать свой VCL код из своей ловушки. Пытался засунуть ловушку в свой exe, регистрироваться не хочет.


 
nikkie   (2001-12-10 10:10) [4]

>ikar
видимо, hook у тебя системный. помещай hook в dll. проблем с тем, чтобы создать vcl форму в dll нет. только при таком подходе будешь создавать окно для каждого процесса, в котором решишь его показать. жуть...

другое дело, если тебе нужно иметь только одно окно. как тебе сказал VladD2, все равно у тебя есть exe для установки этого hook"a - в нем и помещай форму. а дальше тебе надо передать данные из процесса, в котором твой hook активизировался в процесс, который hook установил. смотри какие есть возможности по ipc (можно найти свое окно и послать message, можно через sockets, named pipes, file mapping).


 
Fellomena   (2001-12-10 11:00) [5]


var
SysHook : HHook = 0;
Wnd : Hwnd = 0;

procedure Hook666() export; stdcall;
begin
//Запустить ловушку.
SysHook := SetWindowsHookEx(WH_GETMESSAGE,
@SysMsgProc, HInstance, 0);
end;
{
//Отключить ловушку.
UnhookWindowsHookEx(SysHook);
SysHook := 0;
}
end;


В процедуре SysMsgProc пишешь обработчик и вызов формы


 
Raptor   (2001-12-10 22:29) [6]

Привет!

2Fellomena
Не все так просто. :-)))
Если ловушка системная, то как правильно указал nikkie ее нужно помещать в отдельную ДЛЛ. И вообще в ловушках VCL не совсем желательна. Вернее, даже совсем нежелательна. :-))
Лучше все писать на чистом API.

Raptor.


 
VladD2   (2001-12-11 05:03) [7]

>Digitman
> "Для этого Hook нужно засунить в длл" - а что, без DLL при генерации
> хука никак не обойтись, по-твоему ?

Ну, если хук локальный, то можно и обойтись, а если нужно перехватывать события в других процессах, то не обойтись точно.



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
14-18975
Igor_from_Podolsk
2001-12-18 09:46
2002.02.07
Помогите!!! Срочно!!! Инсталяция Кристал-репортс 7 в Delhi 5!!!


6-18941
Lamok
2001-11-10 15:45
2002.02.07
IP и его замена


14-18955
Digitman
2001-12-17 14:39
2002.02.07
WinMe впервые доставила хлопот - нужен практический совет


1-18814
f0rm
2002-01-24 22:14
2002.02.07
Скопировать файл из локалки


3-18707
amamed_3071
2002-01-09 16:53
2002.02.07
Error loading Midas.dll (Win98)