I'm writing a screen shot app where I need to prevent the mouse over effect in all windows. For example, when hovering over a button or hyperlink they will often change color as a form of feedback. My goal is to take a screen shot where the user clicks without the additional feedback.
I can see two approaches:
- Disable / ignore the system cursor and create my own. Allow it to fly around the screen without triggering any hover effects. Send a
mouse_event
when the user clicks using winuser.h - Use a semi-transparent topmost WPF window that allows clicks pass through to other windows. THis answer feels close, but does trigger hover over effects in other windows.
Option 1 is feasible, but I would need to also account for right clicking and scroll wheel.
Option 2 would be best if I could pass through the click event and not the mouse movement. Is this possible in WPF or should I roll my own cursor controls?
Thanks!