Modify

Opened 4 years ago

Closed 4 years ago

#3103 closed Bug (Works For Me)

_Timer_GetIdleTime not working properly in Windows 10

Reported by: drummer@… Owned by:
Milestone: Component: AutoIt
Version: 3.3.14.0 Severity: None
Keywords: _Timer_GetIdleTime Cc:

Description

The _Timer_GetIdleTime function returns invalid data when run on
Windows 10.

I have three systems with the same problem. Worked properly on
Windows 7, but now returns no more than 2,500 ticks even if the
keyboard and mouse are not touched for several minutes.

This might be a problem in the underlying "GetLastInputInfo"
function in the user32.dll

Attachments (1)

ErrorSub.AU3 (417 bytes) - added by drummer@… 4 years ago.

Download all attachments as: .zip

Change History (9)

Changed 4 years ago by drummer@…

comment:1 Changed 4 years ago by BrewManNH

I just tested this on my Windows 10 machine, using 3.3.14.0 and I don't have the same problem as you're describing.

Here are my results:

0|0
1000|1
2000|2
3000|3
4016|4
5016|5
6016|6
7031|7
8031|8
9031|9

I ran this using both x86 and x64 versions of AutoIt and got similar results in both.
Your test script does not demonstrate the issue you say you're having for me.

comment:2 Changed 4 years ago by anonymous

Here are the incorrect results I'm seeing. The keyboard and mouse were not touched while the script was running. Note the machine is running Windows 10 with EFI firmware. The function worked properly on the same machine running Windows 7 with EFI firmware. It doesn't matter whether you use a compiled script or run the source directly. Same problem.

1657|1
578|0
1578|1
515|0
1515|1
437|0
1453|1
375|0
1375|1
313|0

comment:3 Changed 4 years ago by jchd18

Can you retry with the mouse unplugged (and no fly walking on the touch screen, if any [just joking])?

comment:4 Changed 4 years ago by drummer@…

I tried the test again with the mouse unplugged. Same result, same problem.

By the way, I don't have a touchscreen so no flies were involved. - Thanks, Dave

comment:5 Changed 4 years ago by drummer@…

I just tried booting the machine to Windows in BIOS mode instead of EFI. Same problem. - Dave

comment:6 Changed 4 years ago by BrewManNH

I just tested this on my Windows 10 x86 VM on my work computer, still not seeing any problems with this at all.

31|0
984|0
1984|1
3000|3
4016|4
5016|5
6016|6
7016|7
8031|8
9047|9

I can only assume it only happens on some hardware or there is something wrong with the computers/software on the computers that are showing the error. I can't imagine that the counter should be decrementing between measurements the way your counter results show, although this page in MSDN explains that GetLastInputInfo isn't a system wide function, it only registers the current user's last input. So if you've got something running in the background simulating mouse/key actions it will throw it off.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646302(v=vs.85).aspx

comment:7 Changed 4 years ago by drummer@…

This error occurs consistently on a machine with a clean Windows 10 install. No other software or user services. The exact same hardware and software works properly in Windows 7. Perhaps this has to do with either the Windows 10 version of the Nvidea video driver, the optical mouse or keyboard driver. All drivers and options are vanilla. No unusual hareware, services or programs running In any event it fails every time.

What next? - Dave

comment:8 Changed 4 years ago by BrewManNH

  • Resolution set to Works For Me
  • Status changed from new to closed

Guidelines for posting comments:

  • You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
  • In-depth discussions should take place on the forum.

For more information see the full version of the ticket guidelines here.

Add Comment

Modify Ticket

Action
as closed The ticket will remain with no owner.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.