0

我有一个 .net windows 应用程序的 exe。我想与客户共享 exe 以供试用,因此希望限制仅使用 1 周。我本来打算使用DateTime当前日期并与当前日期进行比较,但如果用户将系统日期改回来​​,它就不起作用。

有什么解决办法吗?

4

2 回答 2

0

如果您的应用程序需要 Internet 访问,您可以通过调用以下返回时间字符串的 Web 服务来测试当前日期和时间:

http://www.timeapi.org/utc/now

例如,它将返回

2013-09-23T11:05:08+01:00

这是 ISO 8601 格式的当前时间。请注意,第一个字符表示 yyyy-mm-dd 格式的当前日期。

如果您的应用程序不需要互联网访问,您可能仍需要每 5 次左右用户启动应用程序,您可以通过互联网检查当前时间。今天的许多应用程序,包括智能手机上的应用程序,都需要访问 Internet 才能联系服务器或验证注册密钥。

于 2013-09-23T10:08:11.073 回答
0

检查用户何时启动应用程序并将日期计数存储在隐藏文件中

样本

if (File.Exists("startapp.txt")
{
    using (StreamWriter writeFile = new StreamWriter("startapp.txt"));
    {
        StreamReader sr = new StreamReader("startapp.txt"); 
        int count = int.Parse(sr.ReadToEnd());
        sr.Close();
        count++;
        writeFile.WriteLine(count.ToString());
    }
}
else
{
    FileStream fs = File.Create("startapp.txt");
    fs.Close();
    File.SetAttributes(
    "startapp.txt", 
    FileAttributes.Archive | 
    FileAttributes.Hidden | 
    );
    StreamWriter sw = new StreamWriter(fs);
    sw.WriteLine("1");
}

然后你可以读取文件并检查它是否是7.

于 2013-09-23T10:18:10.403 回答