Поиск сообщества

Показаны результаты для тегов 'hook'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Native FGX
    • Новости
    • Обсуждения
    • Предложения
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума
    • Правила форума
    • Нарушения правил форума
    • Предложения об организации форума
    • Проблемы
    • Функции форума
  • Видеокурсы
    • Основная информация
    • Курсы
    • Предложения и голосования за новые курсы
    • Вопросы

Поиск результатов в...

Поиск результатов, которые...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Город


Интересы

Найдено: 1 результат

  1. dnekrasov

    Глобальный Hook в OSX

    Создаю глобальный hook на несколько событий: {$IFDEF MACOS} var EvtTap: CFMachPortRef; RunLoopSource: CFRunLoopSourceRef; {$ENDIF} ... procedure CreateGlobalHook; {$IFDEF MACOS} var EvtMask: UInt64; {$ENDIF} begin {$IFDEF MACOS} if EvtTap = nil then begin EvtMask := (1 shl kCGEventKeyDown) or (1 shl kCGEventFlagsChanged) or (1 shl kCGEventLeftMouseUp); EvtTap := CGEventTapCreate(kCGAnnotatedSessionEventTap, kCGTailAppendEventTap, kCGEventTapOptionListenOnly, EvtMask, @EventTapHandler, nil); RunLoopSource := CFMachPortCreateRunLoopSource(kCFAllocatorDefault, EvtTap, 0); CFRunLoopAddSource(CFRunLoopGetCurrent, RunLoopSource, kCFRunLoopCommonModes); end; CGEventTapEnable(EvtTap, 1); {$ENDIF} end; function EventTapHandler(proxy: CGEventTapProxy; type_: CGEventType; event: CGEventRef; refcon: Pointer): CGEventRef; cdecl; {$IFDEF MACOS} var iKey: Integer; iType: Integer; {$ENDIF} begin {$IFDEF MACOS} Result := event; iType := CGEventGetType(event); iKey := CGEventGetIntegerValueField(event, kCGKeyboardEventKeycode); case iType of kCGEventFlagsChanged: ...; kCGEventLeftMouseUp: ...; kCGEventKeyDown: ...; end; {$ENDIF} end; При обработке события возникает проблема: приходят все события кроме kCGEventKeyDown В документации нашел, что kCGEventKeyDown и kCGEventKeyUp приходят только в том случае если приложение запущено от root-а или внесено в список "System Preferences->Security & Privacy->Privacy->Accessibility" Может кто знает как мне программно получить доступ к этим событиям?