這個(gè)其實(shí)發(fā)在這里有點(diǎn)不合適,因?yàn)樵?NET環(huán)境下本身很多數(shù)據(jù)都采用xml格式化,存儲(chǔ)在本地,另一方面是.net的類庫(kù)也非常的靈活,對(duì)注冊(cè)表操作非常方便,沒有必要畫蛇添足來這么一個(gè)包裝的類,但是如果你用 vc++ , WIN32 API ,做開發(fā)的時(shí)候,你會(huì)發(fā)現(xiàn)要對(duì)注冊(cè)表操作非常的困難,更讓人寒心的是,它居然沒有提供對(duì)注冊(cè)表鍵的重命名,在NTDLL.dll 中有一個(gè)可以替代的API:NTRenameKey, 但是它只有winXP之后的操作系統(tǒng)才提供,所以,筆者在這里提供這樣一個(gè)操作類,主要是彌補(bǔ)了 WIN32 API 在這方面的不足。如果讀者有興趣的話可以去看 Dan Madden 寫的一篇文章: http://www.codeproject.com/KB/system/NtRegistry.aspx 但是他的項(xiàng)目必須要用到MFC的類庫(kù),感覺不爽。
廢話到此為止。
主要方法:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
bool
?ExistKey(HKEY?hKey,?
const
?LPTSTR?subKey)?
const
; //是否存在這樣一個(gè)鍵
? bool ?KeyRename(HKEY?hKey,?LPTSTR?lpRootKey,?LPTSTR?lpOldName,?LPTSTR?lpNewName); // hKey 為HKEY_* 之一, 把 lpRootKey下面的 lpOldName名字改成 lpNewName , 比如要把SOFTWARE\\*\\subkey\\TEST改成 SOFTWARE\\*\\subkey\\renamed, 參數(shù)設(shè)置應(yīng)該如下: lpRootKey =? SOFTWARE\\*\\subkey, lpOldName = TEST, lpNewName= renamed
bool
?CopyKeyValues(HKEY?hKey,?
const
?LPTSTR?lpSourceKey,?
const
?LPTSTR?lpDestKey)?
const
; //把
lpSourceKey
鍵的所有值,復(fù)制給
lpDestKey
bool
?DeleteKey(HKEY?hKey,?
const
?LPTSTR?lpSubKey)?
const
;// 刪除
lpSubKey下所有的鍵,子鍵,值
bool
?HasSubKey(HKEY?hKey,?
const
?LPTSTR?lpSubKey)?
const
; //是否有子鍵

? bool ?KeyRename(HKEY?hKey,?LPTSTR?lpRootKey,?LPTSTR?lpOldName,?LPTSTR?lpNewName); // hKey 為HKEY_* 之一, 把 lpRootKey下面的 lpOldName名字改成 lpNewName , 比如要把SOFTWARE\\*\\subkey\\TEST改成 SOFTWARE\\*\\subkey\\renamed, 參數(shù)設(shè)置應(yīng)該如下: lpRootKey =? SOFTWARE\\*\\subkey, lpOldName = TEST, lpNewName= renamed



代碼下載:
我是下載鏈接
所有代碼在vc6.0 windows XP下測(cè)試通過。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
