30天后限制应用程序使用

时间:2014-05-04 11:22:19

标签: c# licensing

namespace Thermocoders_Licensing_System
{
class TrialTimeManager
{
    private string temp = "";

    public TrialTimeManager() { }

    public void SetNewDate()
    {
        DateTime newDate = DateTime.Now.AddDays(31);
        temp = newDate.ToLongDateString();
        StoreDate(temp);
    }

    public void Expired()
    {
        string d = "";
        using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\MyApp"))
        {
            d = (String)key.GetValue("Date");
        }
        DateTime now = DateTime.Parse(d);
        int day = (now.Subtract(DateTime.Now)).Days;
        if (day > 30) { }
        else if (0 < day && day <= 30)
        {
            string daysLeft = string.Format("{0} days more to expire", now.Subtract(DateTime.Now).Days);
            MessageBox.Show(daysLeft);

        }
        else if (day <= 0)
        {
            MessageBox.Show("Trial Expired Please Purchase The Product");
        }
    }

    public void StoreDate(string value)
    {
        try
        {
            using (Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"SOFTWARE\MyApp"))
            {
                key.SetValue("Date", value, Microsoft.Win32.RegistryValueKind.String);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }

}

}

上面的代码记录了试用期到期的剩余天数。我希望在30天结束后,用户不能使用该应用程序,当他/她更改系统时钟时,应该检测它并拒绝应用程序使用。

或者在我的应用程序中说我有两个按钮,即Try和register。我想在30天后禁用try按钮或者当用户更改系统时钟时,用户不应该使用该应用程序

如果除了在注册表中输入任何人之外还有任何其他想法,请告诉我如何输入该文件并保持加密。

谢谢

0 个答案:

没有答案