C# 检查系统时间的替代方案

C# 检查系统时间的替代方案,c#,time,licensing,C#,Time,Licensing,我有一个许可证在一段时间后到期的应用程序 我可以对照系统时间检查应用程序中的时间,但系统时间可以由管理员更改,因此我认为对照系统时间检查不是一个好主意 我有什么选择 谢谢您可以通过在线NTP服务器进行检查,或者,在每次运行时,记录系统时钟已过多少天。如果他们在您知道的时间之前将此设置回原位,这将是显而易见的,您将知道他们试图作弊。您可以检查在线NTP服务器,或者,在每次运行时,记录系统时钟已过多少天。如果他们在你知道的时间过去之前就把这个设置了回去,这是显而易见的,你会知道他们在试图作弊。我想说

我有一个许可证在一段时间后到期的应用程序

我可以对照系统时间检查应用程序中的时间,但系统时间可以由管理员更改,因此我认为对照系统时间检查不是一个好主意

我有什么选择


谢谢

您可以通过在线NTP服务器进行检查,或者,在每次运行时,记录系统时钟已过多少天。如果他们在您知道的时间之前将此设置回原位,这将是显而易见的,您将知道他们试图作弊。

您可以检查在线NTP服务器,或者,在每次运行时,记录系统时钟已过多少天。如果他们在你知道的时间过去之前就把这个设置了回去,这是显而易见的,你会知道他们在试图作弊。

我想说,强迫用户使用错误的日期设置运行对大多数人来说已经足够了。但是,您可以通过将上次运行日期存储在注册表中来组合它,并且每次将其与今天的日期进行比较时,如果上次运行日期高于今天的日期,则可能会重置日期。这可能有合法的原因,因此您可能需要检查一下,只有在执行x次或类似操作后才能禁用软件。

我想说,强制用户使用错误的日期设置运行对大多数人来说已经足够了。但是,您可以通过将上次运行日期存储在注册表中来组合它,并且每次将其与今天的日期进行比较时,如果上次运行日期高于今天的日期,则可能会重置日期。这可能有合法的原因,因此您可能需要检查,确保仅在禁用软件x次或类似次数后才禁用该软件。

您可以使用计数器,以便用户可以使用该软件n次


另一种方法是存储启动应用程序的用户的开始和结束日期。 如果用户下次启动该应用程序,您将对照它进行检查


另一种方法是始终与在线服务器进行检查。

您可以使用计数器,以便用户可以使用该软件n次


另一种方法是存储启动应用程序的用户的开始和结束日期。 如果用户下次启动该应用程序,您将对照它进行检查


另一种方法是始终与在线服务器进行检查。

“另一种方法是存储启动应用程序的用户的开始日期和结束日期。如果用户下次启动应用程序,则根据该日期进行检查。”--在不检查系统时钟的情况下,他如何知道结束时间?例如,我于2010年1月1日09:00登录-存储在注册表中。下次我将日期更改为2010年1月1日并在09:01登录时-存储在注册表中。这仍然有效…他仍然必须对照系统时钟进行检查。这个建议背后的想法是,用户不能将时间重置为使用应用程序之前的某个日期。例如:我在2010年3月1日09:00到2010年3月1日12:00运行程序,我不能将日期更改回2010年3月1日09:01,因为该程序在2010年3月1日12:00使用“另一种方法是存储启动应用程序的用户的开始和结束日期。如果用户下次启动该应用程序,您将对照它进行检查。“--在不检查系统时钟的情况下,他如何知道结束时间?例如,我在2010年1月1日09:00登录-存储在注册表中。下次我将日期更改为2010年1月1日并在09:01登录时-存储在注册表中。这仍然有效…他仍然必须对照系统时钟进行检查。这个建议背后的想法是,用户不能将时间重置为使用应用程序之前的某个日期。例如:我在2010年1月3日09:00到2010年1月3日12:00运行程序,我不能将日期更改回2010年1月3日09:01,因为该程序在2010年1月3日12:00使用。我已经考虑过这一点,但很少有应用程序副本会在没有WAN连接的内部网络上运行…我考虑过这一点,但很少有应用程序副本会在没有WAN连接的内部网络上运行。。。