C 操作登錄檔

2022-03-08 02:54:09 字數 2308 閱讀 2505

在軟體開發中,為了對計算機或者相關的許可權作設定,我們需要對登錄檔進行操作,比如最近剛剛完成了乙個專案需要限制使用者的使用--試用版,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,...