Существует обходной путь, который мы используем.
Используйте только результат GetLastInputInfo()
, чтобы определить, изменился ли dwTick
, не заботясь о том, насколько он изменился.
Делайте это периодически.
Когда тик изменился (значение не совпадает с тем, что было в предыдущем чтении), запустите собственный таймер и используйте его, чтобы определить, когда вход стал бездействующим, например, в течение 30 секунд.
При таком подходе вам никогда не придется иметь дело с переносами.