Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Временная блокировка клавиатуры для чужого окна, Перехват нажатий на клаву 
:(
    Опции темы
uriuriuriuri
Дата 15.1.2006, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день всем!

Делаю утилиту для запуска js скриптов для Adobe Illustrator CS - висящее topmost меню скриптов с настраиваемыми шорткатами для запуска каждого.
Для перехвата клавиш из окна Иллюстратора использую клавиатурный шпиён с проверкой, что окно Иллюстратора в данный момент активно.

Для избежания коллизии с шорткатами самого Иллюстратора придумал такой механизм.
При нажатии клавиши F12 (не задействованной в шорткатах Иллюстратора по умолчанию) дальнейшие нажатия на буквенно-цифровые клавиши, до момента отпускания
F12 блокируются для Иллюстратора. Они то и обрабатываются в качестве шорткатов утилитой.

На самом деле это получаются не классические Accelerators а мнемонические сокращения, например, для скрипта Close_All_Path.js пользователь может назначить
сокращение F12+(C+A+P) или даже F12+(C+L+O+S+E+A+P).

В связи с этим у меня вопрос:
Как блокировать передачу клавиатурных событий в окно Иллюстратора
после события нажатия на F12, полученному шпиёном
и соответственно разблокировать - после ее отпускания?

Видимо, после сообщения F12 down всякое последующие нажатие на клаву должно для Илла блокироваться, если оно != F12 up. Это понятно.
Непонятен сам механизм блокировки конкретного события. Полагаю, что перехваченное событие нужно аннулировать, что бы оно не прошло дальше к окну Илла?
Подскажите пожалуйста - что можно использовать, куда копать?
Речь конечно о блокировке для конкретного окна - Иллюстратора, всех остальных запущенных приложений это не должно касаться.

Искал долго, нашел только полную блокировку клавы через BlockInput True и всякое подобное, но мне нужна блокировка шпионом на уровне приложения, а не OC.

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

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

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

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

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


 




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


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

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