На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> WH_KEYBOARD хук не работает на Universal Windows приложениях
    Добрый день,

    Реализовал WH_KEYBOARD хук через DLL, который устанавливается из моего MFC приложения так:
    SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, hInstance, 0)

    Но проблема в том, что если активно какое-нибудь Universal Windows приложение, например, новый Skype, то не вызывается KeyboardProc.
    Подскажите, пожалуйста, можно ли как-то это исправить?

    С низкоуровневым WH_KEYBOARD_LL хуком всё работает, но его использовать не могу из-за некоторых его ограничений.

    Нашел в документации https://docs.microsoft.com/en-us/windows/wi...twindowshookexw такую информацию:
    Цитата
    Windows Store app development If dwThreadId is zero, then window hook DLLs are not loaded in-process for the Windows Store app processes and the Windows Runtime broker process unless they are installed by either UIAccess processes (accessibility tools). The notification is delivered on the installer's thread for these hooks: WH_JOURNALPLAYBACK, WH_JOURNALRECORD, WH_KEYBOARD, WH_KEYBOARD_LL, WH_MOUSE, WH_MOUSE_LL
    This behavior is similar to what happens when there is an architecture mismatch between the hook DLL and the target application process, for example, when the hook DLL is 32-bit and the application process 64-bit.

    Но не понятно как это применить.
    Сообщение отредактировано: ViH -
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0151 ]   [ 16 queries used ]   [ Generated: 23.04.24, 12:21 GMT ]