Definitely possible, but you will have to subclass the button and intercept WM_MOUSEMOVE. For details on how to do this, see the documentation for SetWindowLongPtr. You will pass it the HWND for the button, the index of GWL_WNDPROC and the address of your intercepting function.