在軟體開發中,為了對計算機或者相關的許可權作設定,我們需要對登錄檔進行操作,比如最近剛剛完成了乙個專案需要限制使用者的使用--試用版,c/s架構的,這個是b/s的還不一樣,如果是b/s的直接加個時間鎖就可以了,因為獲取的是伺服器端的時間,使用者不可能去改伺服器的時間,但是c/s的就不一樣了,時間都是客戶端的,修改了自己的機器的時間,照樣又可以繼續使用,所以不可取,這個時候我們就可以對計算機的登錄檔進行操作,為了防止使用者修改登錄檔,可以對寫入的鍵值進行加密,當然了,這些都是相對的,有人會說,如果重新安裝系統,不是又可以使用,呵呵,如果每次都要裝系統,也划不來,這裡不討論這個,肯定會有好的方法解決,在這裡說下,c#對登錄檔的操作:
首先,看下登錄檔的結構
以節點的方式展現出來,所以我們在操作的時候,要先獲得節點結構,然後在對其建立還是刪除,修改等
看看實現的**:
首先引入庫using microsoft.win32;
然後開啟節點,建立節點
registrykey regist = registry.localmachine;
registrykey software = regist.opensubkey("software", true);
然後就可以建立鍵值
//註冊資訊寫進登錄檔
string myid = "insertid";
if ((string)testcountkey.getvalue(myid, "no") == "no")//指定的鍵不存在
string mykey = "insertcount";
if (testcountkey.getvalue(mykey, "no").tostring() == "no")//指定的鍵不存在
現在看看乙個例子,試用版使用限制,到註冊成正式產品的程式
首先,先對登錄檔操作,建立節點和鍵值
static
class program
string mykey = "
insertcount
";if (testcountkey.getvalue(mykey, "
no").tostring() == "
no")//
指定的鍵不存在
else
}regist.close();
}catch (exception)
if (testcount > ttcount)
}else }
catch
}最後是註冊成正式版的,這裡註冊碼採用的是 對機器的cpu序列號進行加密生成的號碼,獲取cpu序列號的方法
view code
//////
取cpu序列號
//////
public
string getharddiskid()
return cpuinfo;
}註冊成正式版面板**
view code
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;
using card.ui.classinfo;
using microsoft.win32;
namespace card.ui
private
string _zcid;
public
string zcid
set
}md5 md5 = new md5();
string zcid = "";
string list = "";
getdiskid getdiskid = new getdiskid();
private
void registerform_load(object sender, eventargs e)
}catch
}private
void button2_click(object sender, eventargs e)
private
void button1_click(object sender, eventargs e)
catch
}else}}
else}}
}
c 操作登錄檔
1.讀取指定名稱的登錄檔的值 private string getregistdata string name 以上是讀取的登錄檔中hkey local machine software目錄下的 目錄中名稱為name的登錄檔值 2.向登錄檔中寫資料 private void wtregedit st...
C 登錄檔操作
寫這篇日誌以前不是沒有接觸過c 來操作登錄檔,但這次的體會更深入了一點,故筆記如下。首先可以從 登錄檔reg檔案語法規則 了解下.reg檔案的語法規則,因為很多時候是把.reg裡的 轉換為程式裡的啊。知道語法後,可以根據裡面的 開始逐個轉化為c 了。首先是建立hkey,呼叫regcreatekey或...
C 操作登錄檔
windows 作業系統的登錄檔包含了很多有關計算機執行的配置方式,開啟登錄檔我們可以看到登錄檔是按類似於目錄的樹結構組織的,其中第二級目錄包含了五個預定義主鍵分別是 hkey classes root,hkey current user,hkey local machine,hkey users,...