You learn how to use Win32::API
This uses win32::API::Prototype which you may not be able to obtain, but shoudl be readily adaptable to Win32::API. It loops, calling the api and printing the return. Move the mouse or touch a key to see the output change.
#! perl -slw
use strict;
use Win32::API::Prototype;
ApiLink( 'user32.dll', 'bool GetLastInputInfo( pvoid p )' ) or die $^E
+;
my $info = pack 'VV', 8, 0;
while( sleep 1 ) {
GetLastInputInfo( $info ) or die $^E;
printf "Last input was at: %u\n", unpack 'x[V] V', $info;
}
__END__
c:\test>junk
Last input was at: 850068125
Last input was at: 850068125
Last input was at: 850068125
Last input was at: 850068125
Last input was at: 850068125
Last input was at: 850073953
Last input was at: 850073953
Last input was at: 850073953
Last input was at: 850073953
Last input was at: 850077828
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850078250
Last input was at: 850086593
Last input was at: 850086593
Last input was at: 850086593
Last input was at: 850086593
Last input was at: 850090578
Last input was at: 850092078
Last input was at: 850092703
Terminating on signal SIGINT(2)
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|