我正在写一个简单的音乐播放器。我想要它挂钩全局WM_APPCOMMAND
消息(APPCOMMAND_MEDIA_PLAY
,APPCOMMAND_MEDIA_PAUSE
,APPCOMMAND_MEDIA_NEXTTRACK
,...)。
你能帮帮我怎么做吗?非常感谢你!
答案 0 :(得分:3)
这需要一个由SetWindowsHookEx()设置的WH_SHELL钩子。钩子回调将获得HSHELL_APPCOMMAND notification。
这个钩子需要一个可以注入所有正在运行的进程的DLL。你不能用像C#这样的托管语言编写这样的DLL,你尝试注入的进程不会加载CLR。需要非托管代码,C是典型的选择。 This project应该有助于获得这样的DLL。请注意64位操作系统上的相当大的复杂性,您需要两个辅助程序,因此您可以注入32位和64位进程。