Wonderful, now how do i combine it with perl ?
though it's told there that it's also C++'s function i've never seen it in C++ neither in C# and most important, i don't know how to get it to return the output into a Perl's variable.
| [reply] |
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.
| [reply] [d/l] |
Thanks a lot, i'm VVery grateful :)
| [reply] |
use Win32::API::Prototype;
ApiLink( 'user32.dll', 'bool GetLastInputInfo( pvoid p )' )
can be replaced with
use Win32::API;
Win32::API::->Import('user32.dll', 'BOOL GetLastInputInfo(PVOID p)')
removing the dependency of Win32::API::Prototype. Win32::API has its own prototype parser. (I guess Win32::API::Prototype predates the Import method in Win32::API.)
lodin | [reply] [d/l] [select] |