首页 > 编程语言 >C# 注册表法-限制软件使用次数

C# 注册表法-限制软件使用次数

时间:2024-06-08 09:11:16浏览次数:24  
标签:myRegDataAppKey C# 注册表 MyRegDataApp 次数 valueName Close softwareKey

功能简介:

在注册表HKEY_CURRENT_USER\SOFTWARE下,如果没有则新建MyRegDataApp项,在MyRegDataApp项下面,如果没有则新建array值,并设置参数为 int UseCount次,

当软件执行一次程序,注册表次数减一,当参数为0时,每次启动都会提示并自动退出软件,代码如下:

一、包含命名空间

using Microsoft.Win32;

二、编写方法

private void UseCount(int usageCount,string valueName)
        {
            // 检查HKEY_CURRENT_USER\SOFTWARE下是否存在MyRegDataApp键
            RegistryKey softwareKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);
            RegistryKey myRegDataAppKey = softwareKey.OpenSubKey("MyRegDataApp", true);
            if (myRegDataAppKey == null)
            {
                // 如果不存在,则创建MyRegDataApp键
                myRegDataAppKey = softwareKey.CreateSubKey("MyRegDataApp");
            }

            // 检查MyRegDataApp下是否存在array项
            if (myRegDataAppKey.GetValue(valueName) == null)
            {
                // 如果不存在,则创建array项
                myRegDataAppKey.SetValue(valueName, usageCount);
                MessageBox.Show("您可以免费使用本软件" + usageCount + "次!", "感谢您首次使用");
                // 关闭注册表键
                myRegDataAppKey.Close();
                softwareKey.Close();
                return;
            }
            try
            {
                object usetime = myRegDataAppKey.GetValue(valueName);//读取键值,可使用次数
                int newtime = Int32.Parse(usetime.ToString()) - 1;
                if (newtime < 0)
                {
                    if (MessageBox.Show("如需继续使用,请联系软件开发者!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        // 关闭注册表键
                        myRegDataAppKey.Close();
                        softwareKey.Close();
                        Application.Exit();
                    }
                }
                else
                {
                    MessageBox.Show("你还可以使用本软件 :" + usetime.ToString() + "次!", "确认", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    myRegDataAppKey.SetValue(valueName, (object)newtime);//更新键值,可使用次数减1
                }
            }
            catch
            {
                //RegKey.SetValue(valueName, (object)10);  //创建键值,存储可使用次数
                //MessageBox.Show("您可以免费使用本软件10次!", "感谢您首次使用");
                //return;
            }
            // 关闭注册表键
            myRegDataAppKey.Close();
            softwareKey.Close();
        }

三、调用方法

UseCount(250, "array");//使用次数限制

 

标签:myRegDataAppKey,C#,注册表,MyRegDataApp,次数,valueName,Close,softwareKey
From: https://www.cnblogs.com/Fpack/p/18238212

相关文章

  • cocos入门6:向量简介
    在CocosCreator的游戏开发中,向量(Vector)是一个非常重要的概念。向量不仅用于表示二维或三维空间中的位置、方向和速度,还广泛应用于各种物理计算、碰撞检测、动画控制等场景。本教程将深入讲解CocosCreator中的向量概念、使用方法和一些高级应用。一、向量的基本概念1......
  • cocos入门7:向量的应用举例
    在CocosCreator中,我们可以使用JavaScript或TypeScript来编写代码,实现向量点乘的计算,并应用于角色移动、动画控制等场景中。以下是一些具体的代码示例:1.计算两个向量之间的点乘首先,我们需要一个函数来计算两个向量的点乘。在CocosCreator中,我们可以使用cc.Vec2来表示二......
  • 【粉丝福利社】Spring Cloud 微服务快速上手(文末送书-进行中)
    ......
  • C语言详解(动态内存管理)1
    Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~......
  • 类和对象(二)(C++)
    初始化列表classDate{public:Date(intyear,intmonth,intday){_year=year;_month=month;_day=day;}private:int_year;int_month;int_day;};虽然上述构造函数调用之后,对象中已经有了一个初......
  • PLC工业生产线控制与调试
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言PLC做为一门简单的编程软件,适合大多初学者以PLC为基础学习。因为它简单易上手,所以很多院校都开启了这门学习为了引导大多没接触过......
  • const详解
    关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变。但是,可以通过取地址进行修改。 将const在指针前进行修饰,那么就修饰指针所指向的变量。但是指针变量可以被修改。  将const在指针后进行修饰,那么就修饰指针变量本身。但是指针指向的......
  • 【因果推断】【Introduction to Causal Inference from a Machine Learning Perspecti
    第一章动机:为什么你可能关心1.1辛普森悖论考虑一个纯粹假设的未来,有一种被称为COVID-27的新疾病在人类中流行。在这个纯粹假设的未来,有两种治疗方法已经被开发出来:治疗A和治疗B。治疗B比治疗A更稀缺,因此目前接受治疗A和治疗B的比例大致为73%/27%。在一个只关心最大限度......
  • Q15 LeetCode54 螺旋矩阵
    1.和上一题主体部分一模一样,加了判断语句2. intm=matrix.length,n=matrix[0].length;二维数组的长度3.List得实例化  1classSolution{2publicList<Integer>spiralOrder(int[][]matrix){34List<Integer>ans=newArrayList<>(......
  • NSSCTF——crypto
    [鹤城杯2021]easy_crypto[强网拟态2021]拟态签到题[SWPUCTF2021新生赛]crypto8[SWPUCTF2021新生赛]crypto7[SWPUCTF2021新生赛]crypto6[SWPUCTF2021新生赛]ez_caesar[SWPUCTF2021新生赛]cr......