-1

我正在制作自己的试用模式,我想知道是否有办法检查文本文件中的时间信息是否与Date.Today

private void Trial()
{
    DateTime saveNow = DateTime.Today;
    DateTime expiryDate = DateTime.Today.AddDays(30);
    string fileName = System.IO.Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "trailexample.txt");

    if (!File.Exists(fileName))
    {
        // Write the string to a file.
        System.IO.StreamWriter file = new System.IO.StreamWriter(fileName);
        file.WriteLine(saveNow);
        file.WriteLine(expireDate);
        file.Close();
    }
    else if (File.Exists(fileName))
    {
        var lastLine = File.ReadLines(fileName).Last();

        If (saveNow == LastLine) // This doesn't work of course but kinda the Idea. This is what I need help with.
        {
            messagebox.Show("Your trial is over");
        }
    }
}
4

3 回答 3

4

为什么不这样呢?您不需要有人可以修改的文本文件。只需让您的程序在某处创建一个隐藏文件即可。它甚至不需要任何东西。您只是在检查隐藏文件的创建日期。

           else if (File.Exists(fileName));
              {
            DateTime creationdate  = File.GetCreationTime(file);
            DateComparisonResult comparedate = creationdate.CompareTo(saveNow);

            If ((int) comparedate < 0)
              {  
                messagebox.Show("Your trial is over");
                }
       }
于 2013-05-10T01:44:54.543 回答
0

我想你正在寻找DateTime.Parse()DateTime.Now

var lastLine = File.ReadLines(fileName).Last();
DateTime time = DateTime.Parse(lastLine);
if(time.Date < DateTime.Now.Date) {
     MessageBox.Show("Trial over");
}
于 2013-05-10T01:38:30.717 回答
-1

好的,我找到了解决方案,而且效果很好。如果其他人需要在不使用注册表信息或类似信息的情况下制作自己的试用应用程序,以下是:

        private void Trial()
        {
            DateTime saveNow = DateTime.Today;
            DateTime expiryDate = DateTime.Today.AddDays(30);
            string fileName = System.IO.Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),"623231489374524.txt");
            var lastLine = File.ReadLines(fileName).Last();
            string Enddate = lastLine;
            DateTime TrialOver = Convert.ToDateTime(Enddate);  
            if (!File.Exists(fileName))
            {
                // Write the string to a file.
                System.IO.StreamWriter file = new System.IO.StreamWriter(fileName);
                file.WriteLine(saveNow);
                file.WriteLine(expiryDate);

                file.Close();
            }
            else if (File.Exists(fileName))
            {
                if (saveNow == TrialOver)
{
    MessageBox.Show("Trial mode is over.");
}
            }
        }
于 2013-05-10T01:42:12.397 回答