WinForm通过操作注册表实现限制软件使用次数的方法
作者:songkexin 发布时间:2023-07-27 15:39:57
标签:WinForm,注册表
本文实例讲述了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#程序设计有所帮助。
0
投稿
猜你喜欢
- 一、前言前面我们介绍了运算符的一部分运算符,现在我们把剩余的他介绍完全来二、运算符赋值运算符所谓赋值,就是一个等于号连接的两个如int a=
- 详解Java注解的实现与使用方法Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,
- * 的工作原理如图 * 是由每一个action请求(request)都包装在一系列的 * 的内部,通过redirectAction再一次
- 本文实例为大家分享了Android匹配关键字标红的具体代码,供大家参考,具体内容如下1. 单关键字匹配若只需匹配 搜索内容 可以
- 一、音乐播放器的实现原理 Javase的多媒体功能很弱,所以有一个专门处理多媒体的插件叫JMF,JMF提供的模型可大致分为七类*
- Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全
- 代码public class LamdaDemo{ public static void main( String[] args
- Win32 APIWin32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming I
- 前言已经有两个月没有更新博客了,其实这篇文章我早在两个月前就写好了,一直保存在草稿箱里没有发布出来。原因是有一些原理性的东西还没了解清楚,最
- /// <summary>/// 获取本机在局域网的IP地址/// </summary>/// <return
- 一、代理模式代理模式的英文叫做Proxy或Surrogate,中文都可译为”代理“,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机
- C#实现的获取路由器MAC地址,路由器外网地址。对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码。至于获取路由器的
- 一、首先看下Android开发用到的sdk目录:build-tools保存着一些Android平台相关通用工具,比如adb、和aapt、ai
- 尽管我们通常认为通过JAVA的反射机制来访问其它类的私有字段和私有方法是可行的,其实并没有那么困难。 注释:只有在单独的JAVA程序中运行该
- 格式要求:SU MO TU WE TH FR SA &nb
- 安全发布对象在静态初始化函数中初始化一个对象引用将对象的引用保存到volatile类型域或者AtomicReference对象中将对象的引用
- 一、背景今天心血来潮,准备测试一下项目中 logback 的自动刷新功能,但是测试时发现并不生效。logback 的配置如下:<con
- 一、Fork/Join框架的理解ForkJoinTask类属于java.util.concurrent 包下;ForkJoinTask类下有
- 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net包中J2SE的API包含有类和接口,它们提供低层
- 1.标识符①用于给变量、类和方法命名(类名首字母大写,变量和方法名首字母小写并遵循驼峰原则)②标识符的命名规范: ■ 标识符必须