【发布时间】:2014-05-21 12:19:23
【问题描述】:
我想要一种方法来获取独立于客户端设备的当前日期和时间,或者计算两点之间的持续时间(例如 5 小时或 6 天)。
为什么?
因为我不想让我的应用程序的用户更改他们的操作系统日期和时间并绕过我的许可策略。
让我告诉你一个例子: 我有一些关于客户端机器的信息
- LastOnlineLoginDate : 日期时间
- ExpirationDate : 日期时间
- MaxDaysClientCanLoginOffline : int
因此,当客户登录我的应用并且他处于离线状态时,我有两种方法可以检查他的许可证:
- 如果 ExpirationDate > DateTime.Now 则他已获得许可并可以继续
- 如果 LastOnlineLogin+(从 LastOnlineLogin 到现在的持续时间)
如果您能帮助我获取 DateTime.Now 或 计算 LastOnlineLogin 和现在之间的持续时间
,我们将不胜感激【问题讨论】:
-
您的应用程序是否允许访问互联网?
-
您能提供给我们您已经编写的任何代码吗?会很有用的
-
@SriramSakthivel - 我的想法完全正确......从第三方服务器获取时间。
-
我知道的唯一方法是 Windows 本身用于“试用”验证。这很复杂。如果您无法针对某处的服务器进行验证,那么您不妨认为自己运气不好。事实上,即使可以,通常也很容易创建绕过检查的破解 :)
-
您还可以存储应用程序使用的最后一个日期时间,并检查应用程序是否在最后一个日期时间“之前”打开(因此捕获它们重置时钟)并阻止加载,但如果用户会不遗余力地非法使用您的应用程序,他们可能会像 Luaan 州那样破解它,这只会惹恼那些为该服务付费的用户。
标签: c# windows desktop-application