информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Вопрос снят. Действительно, необходимо выполнять обычный... 21.07.09 21:04  Число просмотров: 3254
Автор: .7mm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > чем в дальнейшем занимается поток который поставил
> хук?
> > ему полагается крутить цикл выборки сообщений
> > а фигню с десктопами и оконными станциями - убрать
>
> Ожидает событий WaitForMultipleObjects.... Я так понимаю,
> по вашим словам нужно крутить GetMessage/DispatchMessage ??

Вопрос снят. Действительно, необходимо выполнять обычный цикл выборки сообщений.

Спасибо, очень помогли.
<beginners>
explorer.exe и wh_keyboard_ll 21.07.09 20:39   [Den, HandleX]
Автор: .7mm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Друзья, доброго всем здравия!

Делаю инжект своего кода в процесс explorer.exe. Создаю новый поток. Проблем нет, код отрабатывает. Пытаюсь установить глобальный хук клавиатуры WH_KEYBOARD_LL. Ошибок не возникает, но хук не ловит события от клавиатуры.

Нашел через поисковики, что возможно проблема с тем, что хук ставиться на другой десктоп. Хорошо, делаю следующее:
1. Сохраняю текущие значения: GetProcessWindowStation, GetThreadDesktop.
2. Меняю текущую станцию процесса на Winsta0: SetProcessWindowStation.
3. Открываю десктоп Default: OpenDesktopA (как вариант OpenInputDesktop).
4. Задаю потоку полученный десктоп (Winsta0\Default): SetThreadDesktop.
5. Ставлю хук: GetModuleHandle / SetWindowsHookEx.
6. Восстанавливаю значение станции процесса: SetProcessWindowStation

Все функции отрабатывают без ошибок. Реакции хука на нажатые кнопки я не наблюдаю :((

Кто сталкивался, подскажите в чём может быть дело?

P.S. Вопрос скорее в programming, но с нулевым рейтингом не могу создать там сообщение...
чем в дальнейшем занимается поток который поставил хук? 21.07.09 20:44  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
чем в дальнейшем занимается поток который поставил хук?
ему полагается крутить цикл выборки сообщений
а фигню с десктопами и оконными станциями - убрать
Ожидает событий WaitForMultipleObjects.... Я так понимаю, по... 21.07.09 20:56  
Автор: .7mm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> чем в дальнейшем занимается поток который поставил хук?
> ему полагается крутить цикл выборки сообщений
> а фигню с десктопами и оконными станциями - убрать

Ожидает событий WaitForMultipleObjects.... Я так понимаю, по вашим словам нужно крутить GetMessage/DispatchMessage ??
Ага. А если еще нуна ивента ждать -... 22.07.09 00:59  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
> Ожидает событий WaitForMultipleObjects.... Я так понимаю,
> по вашим словам нужно крутить GetMessage/DispatchMessage ??
Ага. А если еще нуна ивента ждать - MsgWaitForMultipleObjects + PeekMessage/DispatchMessage
Круто! Снова спасибо :) 22.07.09 13:15  
Автор: .7mm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вопрос снят. Действительно, необходимо выполнять обычный... 21.07.09 21:04  
Автор: .7mm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > чем в дальнейшем занимается поток который поставил
> хук?
> > ему полагается крутить цикл выборки сообщений
> > а фигню с десктопами и оконными станциями - убрать
>
> Ожидает событий WaitForMultipleObjects.... Я так понимаю,
> по вашим словам нужно крутить GetMessage/DispatchMessage ??

Вопрос снят. Действительно, необходимо выполнять обычный цикл выборки сообщений.

Спасибо, очень помогли.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach