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

Вниз

хуки и shellproc   Найти похожие ветки 

 
alexey1   (2002-02-23 20:06) [0]

Всем привет!
Задача: при создании системой какого-либо окна, передать в мою прогу
хендл созданного окна и класс окна

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

Хук в DLL:

function shellproc(Code, W,l : Integer): LongInt; stdcall;

var
j,i:integer;
begin
if Code =HSHELL_WINDOWCREATED //говорит о том, что создано окно
then
begin
i:= HSHELL_WINDOWCREATED; // помоему i всегда = 1
SendMessage(FindWindow(PCHAR("TFORM1"),"MouseHook"), WM_USER+111,0 ,I); // Уведомляем программу об этом.
end;
Result := CallNextHookEx(HookHandle, Code, W,L )
end;

function SetHook1: LongBool; stdcall;
begin
//установка ловушки
HookHandle := SetWindowsHookEx(WH_SHELL, shellproc, HInstance, 0);
Result := HookHandle <> 0 ;
end;

function RemoveHook1: LongBool; stdcall;
begin
Result := UnHookWindowsHookEx(HookHandle) ;end;

exports
SetHook1, RemoveHook1; //экспортируемые функции

и каким должен обработчик в программе для хука?
я только смог написать следующее:

procedure user111(var message:Tmessage) ; message wm_user+111;

procedure TForm1.user111(var message:Tmessage);
begin
label9.caption:=INTTOSTR(MESSAGE.WParam);
LABEL10.Caption:=INTTOSTR(MESSAGE.LParam);
end;

Что-то по этому поводу говорила Fellomena!
Может ещё кто-нибудь подскажет????????????

Заранее благодарен.



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

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

Наверх





Память: 0.45 MB
Время: 0.005 c
4-94636
dlK
2002-02-26 09:39
2002.04.29
Помогите, нажать Ctrl+Alt+Del нужно ...


3-94256
mrl
2002-04-07 16:38
2002.04.29
ADO вместо BDE?


14-94544
Fellomena
2002-03-21 17:43
2002.04.29
Из любопытства - кто-нибудь работал на системах класса В ?


1-94389
masik
2002-04-17 13:56
2002.04.29
HTML Editor


14-94540
lipskiy
2002-03-21 01:52
2002.04.29
Forms and controls in runtime





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