![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Ares27 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.10.2008 Репутация: нет Всего: нет |
Всем привет! Необходимо создать хук, который бы перехватывал сообщения нажатия клавиш из всех приложений в Windows. И затем передавал код клавишы в программу! Если кто работал с этим, помогите плз!
![]() |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
Ares27, Читать MSDN на тему SetWindowsHookEx
-------------------- СУВ, Partizan. |
|||
|
||||
Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
На сайте codeproject можно найти готовые примеры использования хуков с классами, которые предоставляют удобный интерфейс для использования хуков без знания winapi.
--------------------
Dude, where's my car? |
|||
|
||||
S1oven |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.9.2009 Репутация: нет Всего: нет |
Блин. Прочитал мсдн. покурил codeproject, взял оттуда исходник. Вопрос почему у меня не получается перехватить комбинацию клавишь.
Пытаюсь перехватить ctrl+c
Совет так проверять (if (Keys.C == key && Keys.Control == Control.ModifierKeys) ) взял отсюда http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx. Не работает. Что я тут уже не выдумывал. Не могу я увидеть комбинацию КЛАВИША | МОДИФИКАТОР. может lParam не всё содержит? Он кстати хранит только последне-нажатую клавишу. Нажму я например ctrl+alt он содержит код только alt. Ещё момент, почему когда нажму на клавишу win, то (Keys)Marshal.ReadInt32(lParam) == 91? Кода 91 нет вообще в перечислении keys. |
|||
|
||||
S1oven |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.9.2009 Репутация: нет Всего: нет |
up
|
|||
|
||||
S1oven |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.9.2009 Репутация: нет Всего: нет |
up
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 8 Всего: 67 |
if ((key & Keys.C == Keys.C) && Keys.Control == Control.ModifierKeys)
Вообще бы точно знать какая из частей выражения возвращает false. -------------------- СУВ, Partizan. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |