Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];

Вниз

Системные ловушки и 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
4-19025
Art
2001-11-18 18:06
2002.02.07
Как использовать ShellExecute?????


1-18897
VladimirL
2002-01-23 18:16
2002.02.07
Как узнать текущую дату?


3-18742
Yu
2002-01-11 10:34
2002.02.07
SQL - очень простой вопрос :-)


1-18846
vitnt
2002-01-22 09:39
2002.02.07
Как сделать подсветку?


1-18849
well
2002-01-22 13:09
2002.02.07
Вопрос по TTreeViev (TTreeNode)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский