Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

System-wide global keyboard hook   Найти похожие ветки 

 
AviDen ©   (2004-02-20 16:16) [0]

Всем привет!
Ситуация: есть тулза под win nt, отлавливающая нажатия опр. клавиш и выполняющая при этом опр. действия.
Проблема: не отлавливаются события от клавиатуры, если в данный момент активен другой дектоп (не тот, в котором регистрировался хук). В хелпе так и написано, что хуки принадлежат только тому десктопу, которому принадлежит процесс, его создавший (или что-то типа того).
Вопрос: как отлавливать события от клавы независимо от текущего десктопа? Сколько не искал - не могу найти. Может подскажете хотя бы общую идею?


 
Digitman ©   (2004-02-20 16:44) [1]

что подразумевается под System-wide клав.хуком ? как я понимаю, это относится не только к GUI-процессам, но и к прочим процессам, т.е. консолям, сервисам и т.д. ? так ? или не так ?


 
Игорь Шевченко ©   (2004-02-20 17:36) [2]


> как отлавливать события от клавы независимо от текущего
> десктопа?


Никак


 
AviDen ©   (2004-02-23 10:16) [3]

> что подразумевается под System-wide клав.хуком ?
Конкретный пример. Есть прилога, изменяющая, напр., громкость звука по нажатию на опр. комбинацию клавиш. Т.к. она реализована хуками, то если тачку залочить - она уже не работает. Мне нужно, чтобы хук (или еще там что-нибудь) работал не только под тем десктопом, в котором создавался, но и под остальными, в частности, под десктопом, активным, когда машина заблокирована.

> Игорь Шевченко: Никак

Но у меня были как-то дрова клавы, которые выполняли вышеозначенные действия независимо от того, какой сейчас активный десктоп. Даже когда машина не залогинена! Ясно, что это реализовано не Hooks"ами, но только как?


 
Cobalt ©   (2004-02-23 11:50) [4]

Драйвер клавы?
Или, скажи - может, у тебя есть сервисспециальный для твоей клавы?
Или просто уже впихнули в стандартный драйвер клавы такую шнягу...


 
AviDen ©   (2004-02-23 12:50) [5]

> to Cobalt:
нет, это не стандартный драйвер. Клава Acer с набором мультимедийных кнопок. Под нее идут дрова, которые "оживляют" эти кнопки. Но то, как там реализованы функции, напр. Пауза, Пред. трек, След. трек, Стоп ну и все остальное - мне не нравится. Вот и написал приблудину. Работает, так как мне и хотелось, но оригинальному драйверу проигрывает в невозможности использовать эти кнопки, если комп заблокирован (там этой проблемы не было). Вот и хочу узнать - как же ж эти кнопки ловить, так их за ногу!


 
Игорь Шевченко ©   (2004-02-24 16:03) [6]

AviDen ©   (23.02.04 12:50)

Никак - в смысле на пользовательском уровне. На уровне драйвера, разумеется, можно.

Ищи интерфейс к драйверу (если он есть).


 
AviDen ©   (2004-02-24 17:57) [7]

To Игорь Шевченко:

Понятно...  :-(

А ты случайно не подскажешь, где мона поискать инфу по созданию драйвера клавы под винду? А то я по этой части еще не сильно шарю.


 
Игорь Шевченко ©   (2004-02-24 18:05) [8]

AviDen ©   (24.02.04 17:57)

Не советую, это очень непросто


 
AviDen ©   (2004-02-25 15:45) [9]

> Игорь Шевченко ©   (24.02.04 18:05) [8]

Да я, в общем-то и не спорю. Слушай, я вижу ты в топике шаришь, может подскажешь еще маленько.

У меня появилась идея реализовать обсуждаемую фичу несколько в обход. Бог с ними со всеми остальными десктопами, все равно пользователь, как правило, наблюдает только два - основной рабочий и десктоп заблокированного режима. Что если моя прога будет регистриться именно в двух этих десктопах - сначала в основном, потом переключаться в десктоп lockdown"а, регистрить тот же хук на то же событие (и с тем же адресом процедуры хука), и возвращать десктоп назад. Сможет такое работать, как считаешь? И опять же, нет ли каких соображений, как можно идентифицировать winstation и desktop, которые активизируются при блокировке машины?


 
Игорь Шевченко ©   (2004-02-25 16:29) [10]


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


Прав не хватит. Не парься.

Кстати, вопрос - а зачем тебе надо в Desktop WinLogon"а лезть ?


 
AviDen ©   (2004-02-26 12:13) [11]

Дык я ж сказал - чтобы мой хук работал не только на Winsta0\Default, но и на Winsta0\Winlogon, т.е., когда комп залочен.

Другими словами, я хочу, чтобы блокировка машины не выключала мои хоткеи.

Хотя я уже это попробовал - в натуре винда отказывает в доступе. Но все равно, спасибо за информацию. Я где-то натыкался на способ взламывания безопасности на предмет получения доступа к Winsta0\Winlogon (кажется, на этом же форуме). Буду копать.

Всем спасибо, тема закрыта!


 
Игорь Шевченко ©   (2004-02-26 12:37) [12]


> Я где-то натыкался на способ взламывания безопасности на
> предмет получения доступа к Winsta0\Winlogon (кажется, на
> этом же форуме).


Ну-ну.

Ты эта...со взломом безопасности на этот форум не ходи, ладно ?


 
GrayFace ©   (2004-03-04 17:56) [13]

Игорь Шевченко, далась тебе эта безопасность! Че плохого во взломе безопасности?

AviDen, найдешь - кинь ссылку или саму инфу.


 
Alexander666 ©   (2004-03-05 03:33) [14]

А на то, что это не какой-нибудь хакерский форум. Да и понимать надо, что "взламываешь".


 
BiN ©   (2004-03-05 10:44) [15]

... далась тебе эта безопасность!
ха-ха, интересно, что будет с пользователем, когда он унает, что ему "взломали безопасность" (кстати тоже бессмертный опус) ради того, чтобы он (юзер) мог, скажем, музыку послушать



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
3-1081353520
Gennadiy
2004-04-07 19:58
2004.05.02
Как соеденить два IBQuery


1-1081937411
FireMan_Alexey
2004-04-14 14:10
2004.05.02
Как можно расчитать смещение от начала файла до записи константы


4-1079008062
saska
2004-03-11 15:27
2004.05.02
Shell_NotifyIcon


14-1081494125
Bond
2004-04-09 11:02
2004.05.02
Тест


4-1079038077
ZedeS
2004-03-11 23:47
2004.05.02
отследить запуск другой программы