Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2011, 19:56   #1
askarchic
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 28
По умолчанию Неактивное окно не реагирует на сообщения хука.

Доброго времени суток!
Я создал глобальный хук, который должен вырубать заданное окно после активности клавиатуры.
Проблема заключается в том что окно закрывается только тогда когда оно активно, а если на переднем плане стоит какое-то другое окно, заданное не реагирует, при том что сигнал все равно срабатывает.
Подскажите пожалуйста в чем проблема?

Код:
Library LCEK;

Uses
  Windows, Messages, SysUtils;

Var
  LCWnd,
  PW : HWND;
  HId   : HHOOK;

Function HEK(Code : Integer; wParam : WPARAM; lParam: LPARAM) : LRESULT; StdCall;
  Begin
    beep;
    //LCWnd:= GetForegroundWindow;
    SendMessage(PW, WM_DESTROY, 0, 0);
    Result:= CallNextHookEx(HId, Code, wParam, lParam)  
  End;

Procedure SetHEK(Wnd : HWND); StdCall;
  Begin
    PW:= Wnd;
    HId:= SetWindowsHookEx(WH_KEYBOARD, @HEK, HInstance, 0)
  End;

Procedure KillHEK; StdCall;
  Begin
    UnhookWindowsHookEx(HId)
  End;

Exports
  SetHEK,
  KillHEK;

Begin
End.

Последний раз редактировалось askarchic; 06.02.2011 в 20:03. Причина: Очепятка
askarchic вне форума Ответить с цитированием
Старый 06.02.2011, 20:51   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

В ДНК.

Читать про механизмы работы хуков до полного просветления.

Подсказка: чему равно PW, с учётом того, что хук грузится в другой процесс?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 06.02.2011, 20:59   #3
askarchic
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 28
По умолчанию

Спасибо, понял!
А можете посоветовать как сохранять PW? Желательно без файлов.
askarchic вне форума Ответить с цитированием
Старый 06.02.2011, 23:55   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

http://www.delphikingdom.ru/asp/view...?catalogid=548
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 07.02.2011, 00:33   #5
askarchic
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 28
По умолчанию

Уже залезал, а до конца прокрутить поленился =\
Большое спасибо.



Ответа так и не нашел

Последний раз редактировалось askarchic; 07.02.2011 в 15:45. Причина: P.S.
askarchic вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несворачевоемое неактивное окно Vol666 Общие вопросы Delphi 6 07.09.2011 21:33
Всегда неактивное окно, поверх всех остальных Zeraim Общие вопросы Delphi 0 24.01.2010 18:36
правильное снятие хука majestic Win Api 1 11.01.2010 02:52
И опять нажатие в неактивное окно.. Syred Общие вопросы Delphi 0 15.06.2008 01:56
неактивное окно oLMeR Общие вопросы Delphi 7 11.11.2006 08:14