WinForm通过操作注册表实现限制软件使用次数的方法

作者:songkexin 时间:2023-07-27 15:39:57 

本文实例讲述了WinForm通过操作注册表实现限制软件使用次数的方法。分享给大家供大家参考,具体如下:

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次!","感谢您首次使用");
   return;
}

希望本文所述对大家C#程序设计有所帮助。

标签:WinForm,注册表
0
投稿

猜你喜欢

  • Java 关键字 速查表介绍

    2022-07-03 22:04:48
  • Android 8.0如何完美适配全局dialog悬浮窗弹出

    2023-04-09 12:54:00
  • Java Synchronized的偏向锁详细分析

    2021-07-09 00:35:23
  • Spring Boot整合JWT的实现步骤

    2022-07-17 04:48:58
  • C#基于COM方式读取Excel表格的方法

    2021-09-15 12:35:36
  • java9学习系列之安装与jshell使用

    2022-08-04 21:51:16
  • 深入了解Java中finalize方法的作用和底层原理

    2023-06-18 00:31:35
  • Spring内存缓存Caffeine的基本使用教程分享

    2023-05-26 00:30:33
  • java实现简单的拼图游戏

    2022-01-27 08:34:32
  • Java设计模式之工厂模式实现方法详解

    2023-11-26 07:55:51
  • Android实现图片缓存与异步加载

    2022-02-25 14:21:06
  • Android实现上下菜单双向滑动

    2023-06-10 02:43:37
  • Android仿考拉全局滑动返回及联动效果的实现方法

    2021-06-01 03:41:03
  • Android简单获取经纬度的方法

    2021-07-28 05:26:47
  • 详解JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)

    2021-12-24 00:29:29
  • 身份证号码验证算法深入研究和Java实现

    2023-05-18 08:17:42
  • java中treemap和treeset实现红黑树

    2021-12-05 07:22:29
  • Java并发编程之线程创建介绍

    2021-11-14 13:55:40
  • Android PhoneWindowManager监听屏幕右侧向左滑动实现返回功能

    2023-02-09 17:50:46
  • 利用AOP实现SqlSugar自动事务

    2021-11-24 11:56:42
  • asp之家 软件编程 m.aspxhome.com