创建c#windows应用程序的演示版本

创建c#windows应用程序的演示版本,c#,C#,我用c#编写了一个windows应用程序。 我希望创建我的软件的演示版本。如何使用计时器使安装的软件在指定的时间段内运行? 此外,即使用户计算机已格式化,应用程序也可能在我的预设时间用完后无法安装?如果您不打算将应用程序连接到服务器端注册机制(我不建议这样做),则可以在注册表中放置一个值,用于确定何时开始试用。从当前加载应用程序的日期和时间中减去该值,您将能够确定应用程序何时停止但是,这对于格式或黑客攻击是不安全的。 我建议的解决方案是在第一次加载期间对试用软件进行服务器端注册。这将允许您确保即

我用c#编写了一个windows应用程序。 我希望创建我的软件的演示版本。如何使用计时器使安装的软件在指定的时间段内运行?
此外,即使用户计算机已格式化,应用程序也可能在我的预设时间用完后无法安装?

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

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

无论哪种方式,防止人们入侵你的注册过程充其量都是困难的。微软自成立以来就一直在与之抗争

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

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

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

缺点:容易破解。足以欺骗操作系统的日期时间设置

另一个选项:您可以使用一些许可软件:

请查看以下可能的选项:

另一种方法是:使用一些web服务检查数据(避免客户端数据欺骗)

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

即使用户计算机已格式化,也可能 在我预设的时间用完后,应用程序不会安装吗


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

如果您能给出一个答案,而不是给出-1,那就太好了!我建议对你想做的事情的性质做一些研究——似乎有很多事情你需要了解,这里的简单答案(从长远来看)不会为你提供。如果你发现了一个具体的问题,你可以去尝试一下,然后带着它回来解决。你不能在这里要求一个完整的解决方案。请指定一个具体问题,我们将能够帮助您。+1,这是一个极好的答案+1.相反,我会将该密钥写入注册表,更难破解(人们可以通过卸载/重新安装轻松删除该文件)。此外,可能还需要记录软件的使用时间,并从密钥中减去值,以确保人们不能利用系统时间进行欺骗。@Nolonar:在这种情况下,黑客通过欺骗数据与密钥所在的位置无关,而是与密钥所传递的数据有关。如果客户端在PC机上过期,他可能会试图欺骗日期时间,它将破坏许可证,不管它是什么:隐藏文件或注册表项。@Nolonar-为了避免演示功能,弄清楚程序在注册表中的预期是什么并不重要。