Главная страница
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.014 c
1-18791
fdv79
2002-01-24 09:51
2002.02.07
Создание каталога


14-18960
SP
2001-12-18 16:15
2002.02.07
Размере откомпилированного файла...


1-18797
Super_Drive
2002-01-24 16:58
2002.02.07
Проблема с Chart


6-18936
Yuraz
2001-11-13 17:05
2002.02.07
Помогите найти компоненты D5D6 для работы с ICQ


3-18771
IgorMIR
2002-01-11 19:43
2002.02.07
как изменить несколько записей, используя TUpdateSql