Interesting question....not a windows programmer myself but I believe what you are needing to do is catch the interupt event from the mouse, or better yet from mouse and/or keyboard.
did some CPAN searching to see if there was already a module that could do this and
SDL::Event seems to have some promise and appears to be quite flexible in the type of events you can capture.
Though I don't know that I would approach this in Perl (crouches as the monks gasp at his heresy)...it does sound like an facinating exercise to try