How do I get system idle time in MATLAB?

3 visualizaciones (últimos 30 días)
John
John el 23 de Feb. de 2011
How do I go about getting the system idle time in MATLAB, I've searched around and cant find anything. Im using Windows XP x64. I thought something with the 'system' command might work. Thanks

Respuesta aceptada

John
John el 23 de Feb. de 2011
Found this perl script that works, simply call perl('last-input.pl') in matlab
use Win32::OLE;
use Win32::API;
use Win32;
$debug=0;
#Count the current 'ticks' (time in millisecs since last boot)
my $tick = Win32::GetTickCount();
#Create a structure for LASTINPUTINFO
my $struct = Win32::API::Struct->typedef( LASTINPUTINFO => qw{
UINT cbSize;
DWORD dwTime;
});
#Reference user32.dll
my $dllcall = Win32::API->Import("user32", 'BOOL GetLastInputInfo(LPLASTINPUTINFO plii)');
#Call this dll
my $input = Win32::API::Struct->new('LASTINPUTINFO');
#Define a buffer size to fill with the tick value of last input ??
$input->{"cbSize"}=$input->sizeof;
#Get the tick value
GetLastInputInfo($input);
my $lastinput = $input->{"dwTime"};
print "Current Tick: $tick\n" if ($debug);
print "Last Input: $lastinput\n" if ($debug);
#Convert the difference betwen values to seconds
my $diff = ($tick - $lastinput)/1000;
print "Last input: $diff seconds ago\n";

Más respuestas (0)

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by