我有一个 .net windows 应用程序的 exe。我想与客户共享 exe 以供试用,因此希望限制仅使用 1 周。我本来打算使用DateTime
当前日期并与当前日期进行比较,但如果用户将系统日期改回来,它就不起作用。
有什么解决办法吗?
如果您的应用程序需要 Internet 访问,您可以通过调用以下返回时间字符串的 Web 服务来测试当前日期和时间:
http://www.timeapi.org/utc/now
例如,它将返回
2013-09-23T11:05:08+01:00
这是 ISO 8601 格式的当前时间。请注意,第一个字符表示 yyyy-mm-dd 格式的当前日期。
如果您的应用程序不需要互联网访问,您可能仍需要每 5 次左右用户启动应用程序,您可以通过互联网检查当前时间。今天的许多应用程序,包括智能手机上的应用程序,都需要访问 Internet 才能联系服务器或验证注册密钥。
检查用户何时启动应用程序并将日期计数存储在隐藏文件中
样本
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
.