使用DateTime终止应用程序?

时间:2014-02-06 05:40:22

标签: c# visual-studio-2010 datetime licensing

我很好奇以下代码的优缺点是终止某个应用程序在某个特定日期之后运行。

DateTime expire = new DateTime(2014, 2, 20);

if (DateTime.Now > expire)
            {
                MessageBox.Show("This Software's License has expired!");
                this.Close();
            }

我正在考虑在我编写的某些软件的小测试中使用它,但是想知道它是否可以通过在系统上设置时钟来“f date date date date date date?我不完全确定DateTime是否只依赖于操作系统认为时间与否。

1 个答案:

答案 0 :(得分:3)

是的,DateTime.Now将报告当前系统时间,并且可能会受到用户更改时钟的影响。

如果有人真的想在许可证到期后继续使用你的应用程序,那么无论如何都可以很容易地破解这种技术。但这并不意味着这种方法对你没有任何价值。

关于这类想法已经有很多关于SO的讨论了:

为了节省您的时间,这里有几个重要提示:

  • 如果有人愿意破解你的应用程序,甚至只是重置他们的系统时钟以避免支付许可证,可能不值得花时间试图阻止它们,并且最小的检查你的问题可能是它值得做的全部。
  • 而不是在许可证过期时禁用您的应用,可能会禁用某些功能,因此该应用仍然是完整广告的广告。