首页 > 解决方案 > 有没有办法以编程方式重置 Windows 的 timeGetTime 值(自 Windows 启动以来经过的时间)?

问题描述

在 Windows 7 之后的所有版本中,关机和重新启动通常会执行快速启动,并且不会被视为“完全”关机。

如何在 Windows 10 中执行完全关机

在 Windows 的 Win32 API 中,有一个名为 的函数timeGetTime(),它返回一个 DWORD 表示自 Windows 启动以来经过的时间。

此函数返回的变量仅在完全关闭后重置。

有没有办法以编程方式将此值重置为 0?我专门尝试在我的 C# 应用程序中执行此操作,但任何语言都是可以接受的,因为它可以转换为 C#。

标签: c#windowswinapiassembly

解决方案


您想在这里完成什么需要将计数器重置为 0?

回答你的问题,NO。无法以编程方式将该值重置为 0。即使您通过编写一些 hack 驱动程序来完成此操作(因为时间计数器在 Windows 或任何其他操作系统下是受保护的实体),您会看到一些不良副作用,并且很可能将导致在 Windows 下立即进行看门狗定时器错误检查。每个操作系统都保证时间计数器只会向前移动,并且许多操作系统组件认为这一事实是理所当然的。


推荐阅读