winform通过注册表限制软件使用次数

来源:互联网 发布:亚马逊的云计算 编辑:程序博客网 时间:2024/05/16 09:06

using   System;
using   System.Security.Permissions;
using   Microsoft.Win32;

         

1.创建注册表文件:
打开记事本,输入一些内容:

REGEDIT4

[HKEY_CURRENT_USER/Software/MyRegDataApp]
"UseTime"="10"


保存为“RegData.reg”

2.创建winform项目

引用名称空间

          using Microsoft.Win32 ;

 

           在Form中激活load事件,并添加代码

           RegistryKey RootKey,RegKey;   

           //项名为:HKEY_CURRENT_USER/Software
           RootKey = Registry.CurrentUser.OpenSubKey ("Software",true);
          
             //打开子项:HKEY_CURRENT_USER/Software/MyRegDataApp
          if ((RegKey = RootKey.OpenSubKey ("MyRegDataApp",true)) == null)
          {
               RootKey.CreateSubKey("MyRegDataApp");//不存在,则创建子项
              RegKey = RootKey.OpenSubKey ("MyRegDataApp",true);
               RegKey.SetValue ("UseTime",(object)9);    //创建键值,存储可使用次数
               MessageBox.Show ("您可以免费使用本软件10次!","感谢您首次使用");
              return;
         }

          try
         {
               object usetime = RegKey.GetValue ("UseTime");//读取键值,可使用次数
              MessageBox.Show ("你还可以使用本软件 :"+ usetime.ToString ()+ "次!","确认",MessageBoxButtons.OK ,MessageBoxIcon.Information );
              int newtime = Int32.Parse (usetime.ToString()) -1;

              if (newtime<0)
              {
                   if (MessageBox.Show ("继续使用,请购买本软件!","提示",MessageBoxButtons.OK ,MessageBoxIcon.Information )== DialogResult.OK )
                   {
                     Application.Exit ();
                   }
              }
              else
               {
                  RegKey.SetValue ("UseTime",(object)newtime);//更新键值,可使用次数减1
               }
           }
           catch
           {
               RegKey.SetValue ("UseTime",(object)10);    //创建键值,存储可使用次数
               MessageBox.Show ("您可以免费使用本软件10次!","感谢您首次使用

 

原创粉丝点击