use strict; use Win32::API; my $tc = Win32::GetTickCount(); Win32::API::Struct->typedef( LASTINPUTINFO => qw{ UINT cbSize; DWORD dwTime; } ); Win32::API->Import("user32", 'BOOL GetLastInputInfo(LPLASTINPUTINFO plii)'); my $li = Win32::API::Struct->new('LASTINPUTINFO'); $li->{cbSize} = $li->sizeof; # MSDN: Must be set to sizeof(LASTINPUTINFO) GetLastInputInfo($li); print $li->{dwTime} - $tc, "\n";