确定 Windows 机器上的时间是否从服务器自动更新

Determine whether time on Windows machine is updated automatically from server or not

有什么方法可以确定 DateTime 是在 Windows 上自动更新(当前使用 Windows 10)还是不使用 C#。

我的意思是,Windows 具有根据您自己的服务器的地理位置自动更新日期的功能。

正是我在做的事情: 我在注册表中添加了一些日期,每个程序执行都在检查从该日期起是否已经过了 2-3 周。我不希望用户向后更改日期并引诱我的程序,因为它无法确定是否已经过了 2-3 周。

我试过的方法: 只是谷歌搜索,什么也没找到。

更多仍然无法理解我真正需要做什么的示例: 例如。程序已于 11 月 23 日执行。它(程序)将此日期写入注册表。在下次执行时,它会从注册表中读取该日期并与今天的日期进行比较。如果从上次执行日期起 2 周过去了,它应该做一些事情,例如退出程序,但我不希望用户手动更改系统的日期并引诱程序它还没有超过 2 周。

.NET版本:4.7

您正在做的事情(即阻止用户扩展您的应用程序的试用版)可能不值得付出努力。

足够持久的用户会使用 ProcMon 并检测您使用的注册码 reading/writing 并清除或更新它。哦,你加密了吗?他们将反编译您的可执行文件并找到您的加密密钥。

或者他们会擦除他们使用的 VM 并在试用版过期后重新安装它。

或者他们将配置一个由他们控制的时间服务器,并在该服务器上设置倒退时间​​...等等。

您将在复制保护上花费多少时间,这些时间可以更好地用于添加使您的应用程序物有所值的功能?

总之看到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer