-5

我编写了一个软件,它是 c# 中的 windows 应用程序。我希望创建我的软件的演示版本。如何使用计时器让安装的软件运行一段确定的时间?还有可能即使用户机器被格式化,在我的预设时间用完后应用程序也不会安装?

4

2 回答 2

5

如何使用计时器让安装的软件运行一段确定的时间?

您创建自己的散列函数来生成许可证密钥,这里密钥的组成部分之一是最后一天。因此,您将该密钥保存到文件中,并在每次启动时检查其中存在的值与 PC 上日期的实际值。

优点:易于实施和投入生产

缺点:容易破解。足以欺骗操作系统的 DateTime 设置。

另一种选择:您可以使用一些许可软件:

在此处查看可能的选项:.NET 的许可系统

另一个:一些你检查数据的网络服务(避免客户端数据作弊)

另一个又是:不是按时间限制演示版本,而是按功能(有限的功能可用,您可以在磁盘上保存数据有限的时间,您可以运行应用程序有限的时间......等等)

还有可能即使用户机器被格式化,在我的预设时间用完后应用程序也不会安装?

不,这是不可能的,因为格式化意味着数据完全擦除。

于 2013-04-15T12:43:54.050 回答
2

如果您不打算将应用程序连接到服务器端注册机制(我不建议这样做),那么您可以在注册表中放置一个值,用于确定试用的开始时间。从加载应用程序的当前日期和时间中减去该值,您将能够确定它应该何时停止。但是,这对于格式或黑客攻击是不安全的。

我推荐的解决方案是在第一次加载期间对试用软件进行服务器端注册。这将允许您确保即使他们重新格式化驱动器,他们也无法通过注册。尽管这仍然不是万无一失的,因为他们可以使用许多别名进行注册,但这至少麻烦得多。这个想法剩下的一个问题是,如果他们没有连接到互联网会发生什么?您要阻止他们使用该应用程序吗?如果他们没有互联网连接,您可以将这个想法与第一个想法结合起来并利用注册表。

无论哪种方式,防止人们入侵您的注册过程充其量都是困难的。微软自成立以来一直在努力解决这个问题。

于 2013-04-15T12:42:59.327 回答