LowLevelKeyboardProc 无法接收“VK_MEDIA_PLAY_PAUSE”应用程序使用 SystemMediaTransportControls 时发生的事件

发布于 2025-01-11 18:31:12 字数 257 浏览 0 评论 0原文

使用 SetWindowsHookEx() 监视键盘输入事件,我注意到,如果后台应用程序使用 SystemMediaTransportControls API 来控制其媒体播放器,那么我的钩子永远不会接收到有关 VK_MEDIA_PLAY_PAUSE 的任何信息。为什么会出现这种情况?

我认为在某些时候,该操作不会发布到线程输入队列(?)这是对媒体播放/暂停键的某种操作系统级控制吗?我可以绕过这种行为吗?

Using SetWindowsHookEx() to monitor keyboard input events, I noticed that if an application in the background is using SystemMediaTransportControls API(s) to control its media player then my hook never receives anything about VK_MEDIA_PLAY_PAUSE. Why does this happen?

I think at some point, the action doesn't get posted to the thread input queue(?) Is that some kind of OS-level control over Media Play/Pause keys? Can I bypass that behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜司空 2025-01-18 18:31:12

经过测试,我可以捕获 VK_MEDIA_PLAY_PAUSE(0xB3,播放/暂停媒体键)。以下是我的程序产生的日志。
输入图片此处描述

After my test, I can capture the VK_MEDIA_PLAY_PAUSE(0xB3,Play/Pause Media key). The following is a log produced by my program.
enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文