Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отмена нажатий клавиш, как и где 
:(
    Опции темы
Mind_master
Дата 20.10.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 22.1.2007

Репутация: нет
Всего: нет



Мне нужно ловить клик мыши при нажатом альте. Проверяю нажатия  в таймере через GetAsyncKeyState().
А как сделать так, чтобы после проверки клик не срабатывал?  smile  smile  smile 
PM MAIL ICQ   Вверх
VICTAR
Дата 20.10.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: нет
Всего: 80



Ловишь в своем приложении или во всей системе?
PM MAIL   Вверх
Mind_master
Дата 20.10.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 22.1.2007

Репутация: нет
Всего: нет



по всей системе!
PM MAIL ICQ   Вверх
Alexeis
Дата 20.10.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



  Тогда нужен глобальный хук. Только он может отменить нажатие клавиш.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Mind_master
  Дата 22.10.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 22.1.2007

Репутация: нет
Всего: нет



А проще нельзя?
PM MAIL ICQ   Вверх
Alexeis
Дата 22.10.2007, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



  Есть еще способ внедрения в системную библиотеку и вставка перехода на свою функцию, но врядли это можно назвать более простым способом.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Mind_master
Дата 22.10.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 22.1.2007

Репутация: нет
Всего: нет



 smile  smile  smile  smile  smile 
Тогда  как через хук?
А то с DLL еще не работал  smile  smile  smile 
PM MAIL ICQ   Вверх
Alexeis
Дата 22.10.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



 Тут полно примеров. Воспользуйтесь поиском по форуму


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Vovanchik
Дата 29.10.2007, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



Здравствуйте, у меня проблема.
Мне нужно чтобы моя программа могла эмитировать нажатие на клавиатуру.
Неплохо работает компонент SendKeys , но некоторые приложение зарание зная о таком компоненте или методе эмуляции нажатия не позволяют отправлять текст сообщение в ихнее окно.
 Вопрос в том как можно с эмитировать нажатие на клаву на более низком уровне. Может каким то макаром можно отправлять коды клавиш непосредственно в порт клавы, желательно с возможность отправки в неактивное окно. За понятный пример или конкретный код готов символически от благодарить.
Ещё раз напомню что sendkeys компонент не годится. Точнее сказать sendkeys не работает в игре lineage2 interlude.
Хотелось бы видеть реализацию dll или пример который бы заставил клавиатуру нажимать на клавиши.
PM MAIL   Вверх
Alix
Дата 29.10.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


L45
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 4.5.2005
Где: Pskov/Spb

Репутация: 3
Всего: 23



честно не знаю, что за sendkeys, но в игре он не сработал, наверное, потому, что игра не сообщения ловит, а работает с клавой через DirectX, точнее DInput.
SendInput не пробовал?
Или, быть может, придется заюзать DInput, если мне не изменяет память, там можно было изменять содержимое буфера клавиатуры.


--------------------
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой
High tech. Low live. (с) Gardner Dozois
PM MAIL ICQ Skype   Вверх
Mind_master
Дата 3.11.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 22.1.2007

Репутация: нет
Всего: нет



Vovanchik, 
Код

keybd_event(ord(K), 0, 0, 0);
keybd_event(ord(K), 0, KEYEVENTF_KEYUP, 0);


это нажимает и отпускает 'K' программно 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.