WinForm通过操作注册表实现限制软件使用次数的方法
1.创建注册表文件:
打开记事本,输入一些内容:
|
1
2
3
|
REGEDIT4[HKEY_CURRENT_USER/Software/MyRegDataApp]"UseTime"="10" |
保存为“RegData.reg”
2.创建winform项目
引用名称空间
|
1
|
using Microsoft.Win32 ; |
在Form中激活load事件,并添加代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
RegistryKey RootKey,RegKey;//项名为:HKEY_CURRENT_USER/SoftwareRootKey = Registry.CurrentUser.OpenSubKey ("Software",true);//打开子项:HKEY_CURRENT_USER/Software/MyRegDataAppif ((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;} |
WinForm通过操作注册表实现限制软件使用次数的方法的更多相关文章
- windowsAPI函数操作注册表实现软件开机自启
注册表的结构 注册表是一个数据库,它的结构同逻辑磁盘类似.注册表包含键(Key),它类似磁盘中的目录,注册表还包含键值(Value),它类似磁盘中的文件.一个键可以包含多个子健和键值,其中键值用于存储 ...
- teeChart 修改注册表实现无试用到期提示
teechart在注册表的跟目录为HKEY_CLASSES_ROOT\CLSID,以下的子目录会根据版本的不同发生改变,但是最底级的目录是TypeLib(例如[HKEY_CLASSES_ROOT\CL ...
- 批处理+VBS+注册表实现开机自动启动EXE程序
批处理+VBS+注册表实现WINDOWS开机自动启动EXE程序 以下都是基于WINDOWS系统. 我们都知道当我们有想某个程序在开机时自动运行,只能有三个方式: 1.做成服务,然后对服务进行配置为自动 ...
- 通过批处理操作注册表实现winform应用中Webbrowser以指定的IE版本加载网页
通过批处理操作注册表实现winform应用中Webbrowser以指定的IE版本加载网页 rem 强制WebBrowser控件使用指定IE版本显示应用的网页 IF EXIST %windir%\Sys ...
- Mybatis 多表实现多对多查询、添加操作
Mybatis 多表实现多对多查询.添加操作 学习内容: 1. 多对多之添加操作 1.1.需求 1.2.数据库表(多对多数据库设计需要设计中间表) 1.3.类设计 1.4.Mapper 接口和 Map ...
- Mybatis 多表实现多对一查询、添加操作
Mybatis 多表实现多对一查询.添加操作 学习内容: 1. 多对一之添加操作 1.1.需求 1.2.数据库表(多对一或一对多,数据库外键都是设置在多的一方) 1.3.类设计 1.4.Mapper ...
- c++ 操作注册表
1. 注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...
- C#操作注册表全攻略
相信每个人对注册表并不陌生,在运行里面输入“regedit”就可以打开注册表编辑器了.这东西对Windows系统来说可是比较重要的,也是病 毒常常会光顾的地方,比如病毒和恶意软件常常会在注册表的启动项 ...
- win7 64bit+vs2010 操作注册表
注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统 HKEY_LOCAL_MACHINE--管理当前系统硬件配置 HKEY_LOCAL_USER--管理系统当前用户配置 HKEY ...
随机推荐
- C# AutoMapper 了解一下
什么是AutoMapper? 简单来说就是将一个对象映射到另一个对象的代码. 摆脱了繁琐的赋值过程 (最常见也就是Model -——ViewModel) AutoMapper安装 我使用的是VS201 ...
- C#默认以管理员身份运行程序实现代码
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; names ...
- win10中shift+右键,在此处打开cmd窗口
通过添加注册表项,实现右击“在此处打开命令行功能” 注册表位置:HKEY_CLASSES_ROOT\Directory\Background\shell\ win10系统用标识右键菜单打开命令行的键, ...
- Python replace方法的使用
在Python str 中, 有一个很方便的查找替换的函数 replace() my_str = "lowmanmana" new_str = my_str.replace(&qu ...
- jdbc连接2(不可以注入)
public void login1(String username, String password) throws ClassNotFoundException, SQLException { / ...
- MiniUi-----Spinner 数值调节器(可以实现任意值的递增)
Spinner 数值调节器可以实现任意值的递增,每次的递增值主要是通过increment="递增值"属性来控制的. 属性 该属性扩展自验证框(validatebox),下面是为微调 ...
- 5. support vector machine
1. 了解SVM 1. Logistic regression回顾 Logistic regression目的是从特征中学习出一个0/1二分类模型,而这个模型是将特性的线性组合作为自变量,由于自变量的 ...
- Web应用三种部署方式的优缺点
方式一:修改server.xml文件 优点: 配置速度快,只需要在server.xml文件中添加<Context>标签,在其中分别配置path虚拟路径和docBase真实路径然后启动Tom ...
- POJ 2316
#include<iostream> #include<stdio.h> #include<string> using namespace std; ]; int ...
- easyui tree扩展tree方法获取目标节点的一级子节点
Easyui tree扩展tree方法获取目标节点的一级子节点 /* 只返回目标节点的第一级子节点,具体的用法和getChildren方法是一样的 */ $.extend($.fn.tree.meth ...