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)
In reply to Re^3: Win32 idle state (Updated)
by BrowserUk
in thread Win32 idle state (screensaver like)
by thenetfreaker
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |