Форум: "WinAPI";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];
ВнизБлокировка клавиш! Найти похожие ветки
← →
Юрий Зотов (2002-01-08 17:12) [8]> Vovchik © (08.01.02 16:37)
> Между прочим, не у меня одного это не получалось.
Угу, я в курсе. Потому что видел эту ошибку десятки раз. Так оно и есть - не учтено разделение адресных пространств процессов.
Дело в том, что переменная FH получит правильное значение ТОЛЬКО в контексте одного-единственного процесса - того, который вызвал SetWindowsHookEx (то есть, ТОЛЬКО для Вашей программы). Для всех же остальных эта переменная останется нулем и поэтому ловушка сможет отослать сообщение WM_USER+1 ТОЛЬКО когда активна Ваша программа. Что мы и наблюдаем на практике.
Именно поэтому в примере я и поместил хэндл окна-приемника в memory mapped file - то есть, сделал его доступным ВСЕМ процессам. Абсолютно то же самое касается переменной HP.
Вы же писали, что сделали все как в примере - оказывается, нет, самое главное Вы как раз и выбросили. Сделайте все ТОЧНО так же, должно работать.
Страницы: 1 2 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c