Что решает, какая программа имеет доступ к сочетаниям клавиш в Windows, когда несколько программ борются за контроль? - PullRequest
0 голосов
/ 22 апреля 2020

Я заметил, что иногда некоторые полноэкранные игры ломают сочетания клавиш для других программ, которые обычно работают, даже когда программа не сфокусирована. Более конкретно, у меня есть (глобальные) сочетания клавиш для созданного мной расширения chrome, которое воспроизводит musi c в фоновом режиме (сочетания клавиш предназначены для паузы / воспроизведения, громкости и т. Д. c.). Обычно эти ярлыки работают нормально, но иногда другие программы мешают им работать (расширение chrome никогда не получает событие от chrome), и это особенно часто встречается в играх с полноэкранным управлением. Я пытаюсь понять, как windows решает, какой приоритет отдавать программам при нажатии клавиш клавиатуры.

Даже если нет способа поднять chrome в начало списка, возможно, я делаю отдельное приложение, которое имеет функциональность, аналогичную разрабатываемому мной расширению chrome, и я хотел бы включить сочетания клавиш. Основываясь на API windows, я прочитал о том, как отключить горячие клавиши с помощью хуков. Есть вероятность, что другая программа может сделать что-то подобное, что может нарушить функциональность горячих клавиш.

Не похоже, что chrome использует хуки для регистрации своих горячих клавиш, что может быть моей первоначальной проблемой. Есть ли способ запретить другим программам отключать мои горячие клавиши, когда они используют хуки? Придется ли мне самому использовать хуки для моей программы, чтобы их хуки не отключали мою функциональность горячих клавиш? Я все еще очень незнаком с крючками, поэтому моя предпосылка может быть ошибочной.

...