![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установка Hook [D6, WinME]
Lony © (2002-11-07 23:02:00)Прочитал несколько статей о ловушках. Ничего не пойму, неужели, чтобы установить Hook надо написать столько текста? Как, например, установить WM_CREATE?
Song (2002-11-09 12:20:00) [1]В статьях есть статья "Хуки. Аспекты реализации". Там всё подробно объяснено и с примерами.
Lony (2002-11-08 22:55:00) [2]А, всё, понял. Но всё равно, это всё записать в поток?
А что означает StdCall и символ "^"?.
Lony (2002-11-08 22:51:00) [3]А где это использовать? Записать в поток? А как получить дескриптор запускающегося приложения? И вообще как использовать SetWindowsHookEx?
to666a (2002-11-08 21:33:00) [4]Используй SetWindowsHookEx(wh_JournalPlayBack,@Play, hInstance,0), где Play - функция обратного вызова
(подробности в Help"е).
Что-то вроде:
function Play(Code: integer; wParam, lParam: Longint): Longint; stdcall;
begin
case Code of
HC_SKIP:
begin
inc(MsgCount);
if MsgCount >= MessageList.Count then StopPlayback
else MessageBuffer := TEventMsg(MessageList.Items[MsgCount]^);
Result := 0;
end;
HC_GETNEXT:
begin
PEventMsg(lParam)^ := MessageBuffer;
Result := 0 { process immediately }
end
else
Result := CallNextHookEx(HookHandle, Code, wParam, lParam);
end;
end;
Song (2002-11-08 21:11:00) [5]Точно.
Lony (2002-11-08 11:53:00) [6]Song, спасибо.
Вы уже отвечали недавно мне на этот вопрос, но я так и не разобрался, как ставить ловушки. С помощью SetWindowsHookEx?
Song (2002-11-08 10:04:00) [7]Вы так сможете контролировать только оконные проги.
Можно WH_GETMESSAGE+WM_CREATE
А можно просто WH_CBT
Lony (2002-11-08 02:38:00) [8]Надо контролировать загрузку приложений. Хотелось бы попробовать таким способом. Да и вообще просто научиться использовать ловушки.
Alex-eraser (2002-11-08 02:10:00) [9]Поясни вопрос. Зачем тебе что-то WM_Create"дь?