I want to provide an option with a media player I'm working on for the media keys to work even when it's minimized. What's the best way to capture and process those key events in C# without having focus? Is it even possible?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
Use global keyboard hooks (Processing Global Mouse and Keyboard Hooks in C#)
Just create the hook when starting your app/form. You can set KeyEventHandlers for the global key up, down and press events. You can then check to see if it is the Key combination you are looking for.
You can do that but only with some global hooking - for source code and details see
EDIT:
BEWARE that some Media Keys get translated into
APP_COMMAND
Windows messages - so you should think about hooking those too.IF you want to make your mediaplayer automagically start on the press of a (media) key see the links here.
I don't think that there is an easy way to do this but this (Using Window Messages to Implement Global System Hooks in C#) project may help. I added below code
to the constructor of Form1 of GlobalHookTest and was able to monitor all the keyboard events.
For this prob I implemented this solution:
http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx