我编写了一个软件,它是c#中的一个Windows应用程序。 我想创建我的软件的演示版本。如何使用计时器以使安装的软件运行一段时间? 也有可能即使用户机器已格式化,应用程序也会在我的预设时间耗尽后安装?
答案 0 :(得分:4)
如何使用计时器以便安装的软件运行 一段确定的时间?
您可以创建自己的哈希函数来生成许可证密钥,此处密钥的一个组成部分是最后一天。因此,您将该密钥保存到文件中,并在每次启动时检查其中的值与PC上日期的实际值。
Pro:易于实施和投入生产
缺点:容易入侵。足以欺骗操作系统的DateTime设置。
另一个选项:您可以使用某些许可软件:
在此处查看可能的选项:Licensing System for .NET
另一个:一些检查数据的网络服务(避免客户端数据作弊)
另一个:限制演示版本没有准时,但在功能上(有限的功能可用,你可以在磁盘上保存数据有限的时间,你可以运行应用程序有限的时间......等等)
即使用户机器已格式化,也可能是 应用程序在预设时间耗尽后不会安装?
不,这是不可能的,因为格式化意味着数据完全擦除。
答案 1 :(得分:2)
如果您不打算将应用程序连接到服务器端注册机制(我不建议这样做),那么您可以在注册表中放置一个值,用于确定试用期何时开始。从加载应用程序的当前日期和时间中减去该值,您将能够确定何时应该停止。 但是,格式或黑客攻击不安全。
我建议的解决方案是在第一次加载时对服务器端注册试用版软件。这将允许您确保即使他们重新格式化驱动器,他们也无法通过注册。虽然这仍然不是万无一失的,因为它们可以在很多别名下注册,但至少要麻烦很多。 这个想法存在的一个问题如果他们没有连接到互联网会发生什么?你打算阻止他们使用这个应用程序吗?您可以将这个想法与第一个想法结合起来,并在没有互联网连接的情况下利用注册表。
无论哪种方式,防止人们破解您的注册过程都是困难的。微软自成立以来一直在努力解决这个问题。