VC 登錄檔操作

2021-06-08 14:50:34 字數 2722 閱讀 4831

vc 登錄檔操作

近來由於需要在自己寫的程式中對登錄檔進行操作。總結些經驗,並做個乙個demo供日後使用,現在把它拿出來和大家分享…… 小弟初學vc,有誤之處還請賜教。

為了使用方便,我把一些操作寫成了函式,以便方便呼叫,具體**如下所示:

一、定義 

hkey hkey;

char content[256]; //所查詢登錄檔鍵值的內容

dword dwtype=reg_sz; //定義讀取資料型別

dword dwlength=256;

struct hkey__*rootkey; //登錄檔主鍵名稱

tchar *subkey; //欲開啟登錄檔項的位址

tchar *keyname; //欲設定項的名字

tchar *valuename; //欲設定值的名稱

lpbyte setcontent_s; //字串型別

int setcontent_d[256]; //dword型別

byte setcontent_b[256]; //二進位制型別

int showcontent (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename);

int setvalue_s (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,lpbyte resetcontent_s);

int setvalue_d (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,int resetcontent_d[256]);

int setvalue_b (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,byte resetcontent_b[256]);

int deletekey (struct hkey__*rerootkey,tchar *resubkey,tchar *rekeyname);

int deletevalue (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename);

二、檢視函式 

showcontent (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename)

regclosekey(hkey);

}

else

return i;

}

三、設定字串值函式 

setvalue_s (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,lpbyte resetcontent_s)

regclosekey(hkey);

}

else

return i;

}

四、設定dword值函式 

setvalue_d (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,int resetcontent_d[256])

regclosekey(hkey);

}

else

return i;

}

五、設定二進位制值函式 setvalue_b (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename,byte resetcontent_b[256])

regclosekey(hkey);

}

else

return i;

}

六、刪除子項函式 deletekey (struct hkey__*rerootkey,tchar *resubkey,tchar *rekeyname)

regclosekey(hkey);

}

else

return i;

}

七、刪除鍵值函式 deletevalue (struct hkey__*rerootkey,tchar *resubkey,tchar *revaluename)

regclosekey(hkey);

}

else

return i;

}

八、呼叫方法 void cregdemodlg::onsetvalue_s() //例1所使用的**:設定字串值

void cregdemodlg::onsetcontent_b() //例2所使用的**:設定二進位制值

void cregdemodlg::onsetcontent_d() //例3所使用的**:設定dword值

void cregdemodlg::ondeletevalue_1() //例4所使用的**

void cregdemodlg::ondeletevalue_2() //例4所使用的**

void cregdemodlg::ondeletevalue_3() //例4所使用的**

void cregdemodlg::ondeletekey() //例5所使用的**

void cregdemodlg::onshowcontent() //例1中的[檢視]

這只是對登錄檔的一些簡單操作,希望對大家有所幫助.  

VC操作登錄檔

1.vc讀取登錄檔資訊 hkey hkey lpctstr data set software yeete s long ret5 regopenkeyex hkey local machine,data set,0,key write key read,hkey long ret0 regdele...

VC操作登錄檔

vc操作登錄檔 邵盛松 2010 3 2 新增標頭檔案atlbase.h 寫入登錄檔鍵值 以設定字串值為例 cstring strpath t c name.exe cregkey key if key.create hkey local machine,t software microsoft w...

VC 登錄檔操作

獲取登錄檔值 hkey hkey lpctstr data set software internet long ret0 regopenkeyex hkey local machine,data set,0,key all access,hkey lpbyte lpa new byte 500 d...