创建c# Windows应用程序的演示版本
本文关键字:版本 应用程序 Windows 创建 | 更新日期: 2023-09-27 18:09:29
我用c#编写了一个windows应用程序。我希望创建我的软件的演示版本。如何使用计时器使已安装的软件运行一段确定的时间?还有,是否有可能,即使用户机器被格式化,应用程序不会安装后,我的预设时间耗尽?
如何使用定时器使已安装的软件运行a确定的时间段?
你创建你自己的哈希函数来生成许可证密钥,这里密钥的一个组成部分是最后一天。因此,您将该密钥保存到一个文件中,并在每次启动时检查其中的值与PC上日期的实际值。
Pro:易于实施和投入生产
缺点:容易破解。刚好可以欺骗操作系统的DateTime设置。
另一个选项:您可以使用一些许可软件:
看看这里可能的选项:.NET许可系统
另一个:一些web服务,你检查数据(避免客户端数据欺骗)
另一个:是限制演示版本不是在时间上,而是在功能上(有限的功能可用,您可以在有限的时间内将数据保存在磁盘上,您可以在有限的时间内运行应用程序…等等)
也有可能即使用户机器被格式化在我的预设时间用完后应用程序无法安装?
不,这是不可能的,因为格式化意味着数据完全删除。
如果您不打算将应用程序连接到服务器端注册机制(我不建议这样做),那么您可以在Registry中放置一个值,用于确定何时开始试用。从应用程序加载时的当前日期和时间中减去该值,您将能够确定它何时应该停止。
我推荐的解决方案是在第一次加载时在服务器端注册试用软件。这将允许您确保即使他们重新格式化驱动器,他们也无法通过注册。虽然这仍然不是万无一失的,因为他们可以用许多别名注册,但至少会带来很多麻烦。这个想法剩下的一个问题是,如果他们没有连接到互联网会发生什么?你会阻止他们使用这个应用程序吗?你可以把这个想法和第一个结合起来,如果他们没有互联网连接,就利用注册表。
不管怎样,阻止别人入侵你的注册过程是很困难的。