I wish to write a small tool that will capture a global event when the user presses the Windows button and scrolls the mousewheel up or down. When such an event is captured, I wish to redirect said output to a virtual keystroke combination of Win-+ or Win-- (plus/minus). Can this be done?
If the windows key is reserved, ctrl-alt or such would do.
Since it uses the windows key, the key can be captured globally using a hotkey binding. RegisterHotKey at msdn.
Edit: It seems the mousewheel events are not treated as keys as I assumed and there is no way to make a global hotkey for them.
You will have to make a global window message hook and trap the WM_MOUSEWHEEL message. But you may have to do that in C/C++. A C dll to accomplish this is below, you can call Hook and Unhook from C# to enable and disable the function.
WARNING: I have not tested this code and is provided as a demonstration only.
It can definitely be done via global hooks, here is a great CodeProject example on how to do so.