WinForm通過操作注冊表實(shí)現(xiàn)限制軟件使用次數(shù)的方法
本文實(shí)例講述了WinForm通過操作注冊表實(shí)現(xiàn)限制軟件使用次數(shù)的方法。分享給大家供大家參考,具體如下:
1.創(chuàng)建注冊表文件:
打開記事本,輸入一些內(nèi)容:
REGEDIT4 [HKEY_CURRENT_USER/Software/MyRegDataApp] "UseTime"="10"
保存為“RegData.reg”
2.創(chuàng)建winform項(xiàng)目
引用名稱空間
using Microsoft.Win32 ;
在Form中激活load事件,并添加代碼
RegistryKey RootKey,RegKey;
//項(xiàng)名為:HKEY_CURRENT_USER/Software
RootKey = Registry.CurrentUser.OpenSubKey ("Software",true);
//打開子項(xiàng):HKEY_CURRENT_USER/Software/MyRegDataApp
if ((RegKey = RootKey.OpenSubKey ("MyRegDataApp",true)) == null)
{
RootKey.CreateSubKey("MyRegDataApp");//不存在,則創(chuàng)建子項(xiàng)
RegKey = RootKey.OpenSubKey ("MyRegDataApp",true);
RegKey.SetValue ("UseTime",(object)9); //創(chuàng)建鍵值,存儲可使用次數(shù)
MessageBox.Show ("您可以免費(fèi)使用本軟件10次!","感謝您首次使用");
return;
}
try
{
object usetime = RegKey.GetValue ("UseTime");//讀取鍵值,可使用次數(shù)
MessageBox.Show ("你還可以使用本軟件 :"+ usetime.ToString ()+ "次!","確認(rèn)",MessageBoxButtons.OK ,MessageBoxIcon.Information );
int newtime = Int32.Parse (usetime.ToString()) -1;
if (newtime<0)
{
if (MessageBox.Show ("繼續(xù)使用,請購買本軟件!","提示",MessageBoxButtons.OK ,MessageBoxIcon.Information )== DialogResult.OK )
{
Application.Exit ();
}
}
else
{
RegKey.SetValue ("UseTime",(object)newtime);//更新鍵值,可使用次數(shù)減1
}
}
catch
{
RegKey.SetValue ("UseTime",(object)10); //創(chuàng)建鍵值,存儲可使用次數(shù)
MessageBox.Show ("您可以免費(fèi)使用本軟件10次!","感謝您首次使用");
return;
}
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《WinForm控件用法總結(jié)》、《C#窗體操作技巧匯總》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#常見控件用法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》
希望本文所述對大家C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#基礎(chǔ)語法:as 運(yùn)算符使用實(shí)例
這篇文章主要介紹了C#基礎(chǔ)語法:as 運(yùn)算符使用實(shí)例,本文給出了類、字符串、數(shù)字、浮點(diǎn)數(shù)、null等值的運(yùn)算實(shí)例,需要的朋友可以參考下2015-06-06
C#獲取文件名和文件路徑的兩種實(shí)現(xiàn)方式
這篇文章主要介紹了C#獲取文件名和文件路徑的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
OpenCvSharp實(shí)現(xiàn)Mat對象簡單的像素操作
這篇文章主要介紹了OpenCvSharp實(shí)現(xiàn)Mat對象簡單的像素操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
c#實(shí)現(xiàn)把異常寫入日志示例(異常日志)
這篇文章主要介紹了c#實(shí)現(xiàn)把異常寫入日志示例(異常日志),需要的朋友可以參考下2014-04-04
C#使用linq計(jì)算執(zhí)行元素在列表中出現(xiàn)次數(shù)的方法
這篇文章主要介紹了C#使用linq計(jì)算執(zhí)行元素在列表中出現(xiàn)次數(shù)的方法,涉及C#使用linq擴(kuò)展進(jìn)行列表查詢的技巧,需要的朋友可以參考下2015-04-04
一個(gè)狀態(tài)機(jī)的實(shí)現(xiàn)
本文主要介紹了C#實(shí)現(xiàn)一個(gè)狀態(tài)機(jī)的思路與方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02

