[VC++]注冊(cè)表簡(jiǎn)單操作_第1頁(yè)
[VC++]注冊(cè)表簡(jiǎn)單操作_第2頁(yè)
[VC++]注冊(cè)表簡(jiǎn)單操作_第3頁(yè)
[VC++]注冊(cè)表簡(jiǎn)單操作_第4頁(yè)
[VC++]注冊(cè)表簡(jiǎn)單操作_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流VC+注冊(cè)表簡(jiǎn)單操作.精品文檔.VC+注冊(cè)表簡(jiǎn)單操作分類(lèi): VC+注冊(cè)表2009-08-18 14:24 224人閱讀 評(píng)論(0) 收藏 舉報(bào)Windows的注冊(cè)表中包含了Windows的系統(tǒng)配置、PC機(jī)的硬件配置、Win32應(yīng)用程序和用戶(hù)的其他設(shè)置信息。注冊(cè)表和INI文件不同,它是多層次的樹(shù)狀數(shù)據(jù)結(jié)構(gòu),具有六個(gè)分支(根鍵),每個(gè)分支又由許多的鍵和鍵值組成,而每個(gè)鍵則代表一個(gè)特定的配置項(xiàng)目。在注冊(cè)表中鍵可以包括子鍵和值。我們可以對(duì)他做個(gè)比喻,鍵就是目錄,而子鍵和值可以看成文件,這樣比喻可能不科

2、學(xué)但是很實(shí)際。在Windows 98下注冊(cè)表包括在兩個(gè)文件內(nèi),他們是user.dat和system.dat兩個(gè)文件。System.dat包括標(biāo)準(zhǔn)的系統(tǒng)信息,他們被保存在HKEY_LOCAL_MACHINE的根鍵內(nèi)。User.dat文件包括用戶(hù)指定的信息,如用戶(hù)策略,桌面設(shè)定等等。為了平時(shí)查看方便,Windows為我們準(zhǔn)備了一個(gè)小程序regedit.exe。執(zhí)行他就可以看到注冊(cè)表的樹(shù)狀結(jié)構(gòu)。在實(shí)際編程工作中,我們經(jīng)常會(huì)遇到如何在Visual C+中對(duì)Windows注冊(cè)表整個(gè)樹(shù)狀結(jié)構(gòu)信息進(jìn)行訪(fǎng)問(wèn)和修改的問(wèn)題,如查詢(xún)和修改注冊(cè)表中用戶(hù)姓名和公司名稱(chēng)的有關(guān)信息等。為此,本實(shí)例將相關(guān)

3、的注冊(cè)表操作封裝到函數(shù)中,并通過(guò)一個(gè)簡(jiǎn)單的例程給出了上述函數(shù)的調(diào)用方法,該例程可以在注冊(cè)表中創(chuàng)建、刪除、顯示一個(gè)鍵值,同時(shí)還可以清空最近閱讀過(guò)的文檔歷史記錄。程序的界面效果如圖一所示:圖一、操作注冊(cè)表示例程序界面效果圖一、實(shí)現(xiàn)方法對(duì)注冊(cè)表的編程要用到句柄,我們需要通過(guò)一個(gè)句柄訪(fǎng)問(wèn)注冊(cè)表鍵值,當(dāng)打開(kāi)或創(chuàng)建一個(gè)鍵值的時(shí)候,會(huì)返回一個(gè)該鍵的句柄,并且調(diào)用和分析鍵和創(chuàng)建鍵值,在分析和創(chuàng)建的同時(shí)需要傳遞句柄到函數(shù)。WINDOWS提供預(yù)定義的用語(yǔ)-根一級(jí)鍵的保留句柄,如HKEY_CLASS_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USER等,這些都是與

4、注冊(cè)表的根鍵相對(duì)應(yīng)并且同名的句柄。當(dāng)訪(fǎng)問(wèn)一個(gè)根鍵的時(shí)候,傳遞這些通用句柄。這就不用打開(kāi)根鍵啦,因?yàn)樗麄兛偸窃诖蜷_(kāi)狀態(tài)下,可使用默認(rèn)鍵的句柄訪(fǎng)問(wèn)。Win32 API提供了大約25個(gè)有關(guān)注冊(cè)表的函數(shù),他提供了對(duì)注冊(cè)表的讀取,寫(xiě)入,刪除,以及打開(kāi)注冊(cè)表的所有函數(shù),并且可以實(shí)現(xiàn)對(duì)注冊(cè)表備份,連接和對(duì)遠(yuǎn)端注冊(cè)表進(jìn)行查看等功能。但是在編程的時(shí)候首先需要考慮你是在什么操作系統(tǒng)編輯此類(lèi)程序,雖然微軟的操作系統(tǒng),如NT和Windows98都是32位操作系統(tǒng),但是有些API函數(shù)中并不支持98,這點(diǎn)是要注意的。API經(jīng)歷和發(fā)展了很多年,有些函數(shù)已經(jīng)重復(fù),比如RegSetValue()及RegSetValu

5、eEx()都是用來(lái)設(shè)置注冊(cè)表鍵值的,兩者的區(qū)別在于前者是設(shè)置注冊(cè)表鍵的默認(rèn)值,僅支持作為數(shù)據(jù)類(lèi)型的字符串,而后者不僅繼承了前者的所有功能而且還能對(duì)多值或類(lèi)型進(jìn)行操作。一般API對(duì)比較新的函數(shù)都會(huì)在后綴追加"Ex"的同樣名稱(chēng)函數(shù),建議在編程中均應(yīng)盡可能的使用高級(jí)函數(shù)。下面介紹一些比較常用的操作注冊(cè)表的API函數(shù):1、RegCloseKey()原型:RegCloseKey(HKEY hKey)解釋?zhuān)宏P(guān)閉指定的注冊(cè)表鍵,釋放句柄。當(dāng)對(duì)一個(gè)或多個(gè)鍵或值操作完成以后,需要關(guān)閉其鍵來(lái)進(jìn)行保存操作結(jié)果,關(guān)閉一個(gè)鍵后,句柄變?yōu)榉欠ǎ藭r(shí)應(yīng)釋放句柄。2、RegCreateKeyEx()原型:

6、LONG RegCreateKeyEx( HKEY hKey, LPCTSTR lpSubKey,DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired,  LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition );解釋?zhuān)捍蜷_(kāi)指定的鍵或子鍵。如果要打開(kāi)的鍵不存在的話(huà),本函數(shù)會(huì)試圖建立它。提供該函數(shù)是為了向后兼容。所有的WIN32應(yīng)用程序應(yīng)使用函數(shù)RegCreateKeyEx

7、()。各參數(shù)及返回值的含義如下:各參數(shù)及返回值的含義如下: ·hKey為主鍵值,可以取下面的一些數(shù)值:HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER、HKEY_PERFORMANCE_DATA(WINNT操作系統(tǒng))、HKEY_DYN_DATA(WIN9X操作系統(tǒng));·參數(shù)lpSubKey為一個(gè)指向以零結(jié)尾的字符串的指針,其中包含將要?jiǎng)?chuàng)建或打開(kāi)的子鍵的名稱(chēng)。子鍵不可以用反斜線(xiàn)(/)開(kāi)始。該參數(shù)可以為NULL;·參數(shù)Reserved為保留值,必須設(shè)

8、置為0;·參數(shù)lpClass為一個(gè)指向包含鍵類(lèi)型的字符串。如果該鍵已經(jīng)存在,則忽略該參數(shù);·參數(shù)dwOptions為新創(chuàng)建的鍵設(shè)置一定的屬性。可以取下面的一些數(shù)值:REG_OPTION_NON_VOLATILE ,表示新創(chuàng)建的鍵為一個(gè)非短暫性的鍵(數(shù)據(jù)信息保存在文件中,當(dāng)系統(tǒng)重新啟動(dòng)時(shí),數(shù)據(jù)信息恢復(fù));REG_OPTION_VOLATILE,表示新創(chuàng)建的鍵為一個(gè)短暫性的鍵(數(shù)據(jù)信息保存在內(nèi)存中),Windows95忽略該數(shù)值;REG_OPTION_BACKUP_RESTORE 僅在WINNT中支持,可以提供優(yōu)先級(jí)支持;·參數(shù)samDesired

9、用來(lái)設(shè)置對(duì)鍵訪(fǎng)問(wèn)的權(quán)限,可以取下面的一些數(shù)值:KEY_CREATE_LINK,表示準(zhǔn)許生成符號(hào)鍵;KEY_CREATE_SUB_KEY 表示準(zhǔn)許生成子鍵;KEY_ENUMERATE_SUB_KEYS 表示準(zhǔn)許生成枚舉子鍵;KEY_EXECUTE 表示準(zhǔn)許進(jìn)行讀操作;KEY_NOTIFY表示準(zhǔn)許更換通告; KEY_QUERY_VALUE 表示準(zhǔn)許查詢(xún)子鍵;KEY_ALL_ACCESS 提供完全訪(fǎng)問(wèn),是上面數(shù)值的組合;KEY_READ 是下面數(shù)值的組合:KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYS、KEY_NOTIFY;KEY

10、_SET_VALUE 表示準(zhǔn)許設(shè)置子鍵的數(shù)值;KEY_WRITE 是下面數(shù)值的組合:KEY_SET_VALUE、KEY_CREATE_SUB_KEY;·參數(shù)lpSecurityAttributes為一個(gè)指向SECURITY_ATTRIBUTES結(jié)構(gòu)的指針,確定返回的句柄是否被子處理過(guò)程繼承。如果該參數(shù)為NULL,則句柄不可以被繼承。在WINNT中,該參數(shù)可以為新創(chuàng)建的鍵增加安全的描述;·參數(shù)phkResult為一個(gè)指向新創(chuàng)建或打開(kāi)的鍵的句柄的指針;·參數(shù)lpdwDispition指明鍵是被創(chuàng)建還是被打開(kāi)的,可以是下面的一些數(shù)值:REG_CREATE_NE

11、W_KEY 表示鍵先前不存在,現(xiàn)在被創(chuàng)建;REG_OPENED_EXISTING_KEY 表示鍵先前已存在,現(xiàn)在被打開(kāi)。如果該函數(shù)調(diào)用成功,則返回ERROR_SUCCESS。否則,返回值為文件WINERROR.h中定義的一個(gè)非零的錯(cuò)誤代碼,可以通過(guò)設(shè)置FORMAT_MESSAGE_FROM_SYSTEM標(biāo)識(shí)調(diào)用FormatMessage()函數(shù)來(lái)獲取一個(gè)對(duì)錯(cuò)誤的總體描述。3、RegOpenKeyEx()原型:LONG RegOpenKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions,REGSAM samDesired, PH

12、KEY phkResult );解釋?zhuān)捍蜷_(kāi)一個(gè)指定的鍵,并返回打開(kāi)鍵的句柄。各參數(shù)及返回值的含義如下:·參數(shù)hKey的含義同RegCreateKeyEx函數(shù)中的hKey參數(shù);·參數(shù)lpSubKey為一個(gè)指向以零結(jié)尾的字符串的指針,其中包含子鍵的名稱(chēng),可以利用反斜線(xiàn)(/)分隔不同的子鍵名。如果字符串為空,則根據(jù)hKey參數(shù)創(chuàng)建一個(gè)新的句柄。在這種情況下,并不關(guān)閉先前打開(kāi)的句柄;·參數(shù)ulOption保留,通常必須設(shè)置為0;·參數(shù)samDesired的含義同RegCreateKeyEx函數(shù)中的samDesired參數(shù);·參數(shù)phkResult為一個(gè)

13、指針,用來(lái)指向打開(kāi)的鍵的句柄。可以通過(guò)RegCloseKey函數(shù)關(guān)閉這個(gè)句柄;·函數(shù)的返回值同RegCreateKeyEx函數(shù)的返回值。4、 查詢(xún)某一個(gè)鍵值:RegQueryValueEx()原型:LONG RegQueryValueEx(HKEY hKey, LPCTSTR lpValueName, LPDWORD pReserved, LPDWORD lpType,LPBYTE lpData, LPDWORD lpcbData );解釋?zhuān)焊鶕?jù)要查詢(xún)的鍵的句柄,要返回的查詢(xún)的數(shù)據(jù)。各個(gè)參數(shù)及返回值的含義如下:·參數(shù)hKey為當(dāng)前的一個(gè)打開(kāi)的鍵的句柄,具體數(shù)值同R

14、egCreateKeyEx函數(shù)的hKey參數(shù);·參數(shù)lpVauleName為一個(gè)指向非空的包含查詢(xún)值的名稱(chēng)的字符串指針;·參數(shù)lpReserved保留,必須為NULL;·參數(shù)lpType為一個(gè)指向數(shù)據(jù)類(lèi)型的指針,數(shù)據(jù)類(lèi)型為下列類(lèi)型之一:REG_BINARY 二進(jìn)制數(shù)據(jù)、REG_DWORD  32位整數(shù)、REG_DWORD_LITTLE_ENDIAN littleendian格式的數(shù)據(jù),例如0X12345678以(0X78 0X56 0X34 0X12)方式保存、REG_DWORD_BIG_ENDIAN bigendian格式的數(shù)據(jù),例如0X12

15、345678以(0X12 0X34 0X56 0X78)方式保存、REG_EXPAND_SZ 一個(gè)包含未擴(kuò)展環(huán)境變量的字符串、REG_LINK 一個(gè)Unicode類(lèi)型的鏈接、REG_MULIT_SZ 以?xún)蓚€(gè)零結(jié)尾的字符串、REG_NONE 無(wú)類(lèi)型數(shù)值、REG_RESOURCE_LIST 設(shè)備驅(qū)動(dòng)資源列表、REG_SZ 一個(gè)以零結(jié)尾的字符串根據(jù)函數(shù)使用的字符集類(lèi)型的不同而設(shè)置為Unicode或ANSI類(lèi)型的字符串;·參數(shù)lpData為一個(gè)指向保存返回值的變量的指針。如果不需要返回值,該參數(shù)可以為NULL;·參數(shù)lpcbData為一個(gè)指向保存返回值

16、長(zhǎng)度的變量的指針。其中長(zhǎng)度以字節(jié)為單位。如果數(shù)據(jù)類(lèi)型為REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ,那么長(zhǎng)度也包括結(jié)尾的零字符,只有在參數(shù)lpData為NULL時(shí),參數(shù)lpcbData才可以為NULL;返回值同RegCreateKeyEx函數(shù)的返回值;5、RegSetValueEx()原型:LONG RegSetValueEx(HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, DWORD dwType,const BYTE *lpData, DWORD cbData);解釋?zhuān)涸O(shè)置注冊(cè)表中的一個(gè)鍵值。各個(gè)參數(shù)及

17、返回值的含義如下:·參數(shù)hKey的含義同RegCreateKeyEx函數(shù)中的hKey參數(shù);·參數(shù)lpValueName為一個(gè)指向包含值名的字符串指針;Reserved保留,通常必須設(shè)置為0;·參數(shù)dwType確定了設(shè)置的值的類(lèi)型同RegQueryValueKeyEx的lyType參數(shù);·參數(shù)lpData為一個(gè)指向包含數(shù)據(jù)的緩沖區(qū)的指針;·參數(shù)cbData以字節(jié)為單位,指定數(shù)據(jù)的長(zhǎng)度;返回值同RegCreateKeyEx函數(shù)的返回值。6、RegDeleteKey()原型:LONG RegDeleteKey(HKEY hKey,LPCTSTR lp

18、SubKEY);解釋?zhuān)汉瘮?shù)RegDeleteKey刪除一個(gè)鍵及所有的子鍵。各個(gè)參數(shù)及返回值的含義如下:·參數(shù)hKey的含義同RegCreateKeyEx函數(shù)中的hKey參數(shù);·參數(shù)lpSubKey的含義同RegCreateKeyEx函數(shù)中的lpSubKey參數(shù)。二、編程步驟1、啟動(dòng)Visual C+6.0,生成一個(gè)基于對(duì)話(huà)框的應(yīng)用程序RegDemo,按照上文中的圖一所示設(shè)計(jì)程序界面;2、使用Class Wizard為對(duì)話(huà)框中的按鈕添加鼠標(biāo)單擊響應(yīng)處理函數(shù);3、添加代碼,編譯運(yùn)行程序。三、程序代碼/#include "stdafx.h"#include&#

19、160;"RegDemo.h"#include "RegDemoDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/注冊(cè)表操作時(shí)用的變量;HKEY hKey;char content256; /所查詢(xún)注冊(cè)表鍵值的內(nèi)容DWORD dwType=REG_SZ; /定義讀取數(shù)據(jù)類(lèi)型DWORD dwLength=256;HKEY RootKey; /注冊(cè)表主鍵名稱(chēng)TCHAR *SubKey

20、; /欲打開(kāi)注冊(cè)表項(xiàng)的地址TCHAR *KeyName; /欲設(shè)置項(xiàng)的名字TCHAR *ValueName; /欲設(shè)置值的名稱(chēng)LPBYTE SetContent_S; /字符串類(lèi)型int  SetContent_D256; /DWORD類(lèi)型BYTE SetContent_B256; /二進(jìn)制類(lèi)型/設(shè)置注冊(cè)表操作函數(shù);int ShowContent ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName);int SetValue_S ( HKEY ReRootKey,TCHAR *ReSubKey

21、,TCHAR *ReValueName,LPBYTE ReSetContent_S);int SetValue_D ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName,intReSetContent_D256);int SetValue_B ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName, BYTE ReSetContent_B256);int DeleteKey ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR

22、0;*ReKeyName);int DeleteValue ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName);/ShowContent ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName)/查看鍵值的函數(shù);int i=0; /操作結(jié)果:0=succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_READ,&hKey)=ERROR_SUCCESS)if(RegQueryValueEx(hKey,ReValueNa

23、me,NULL,&dwType,(unsigned char *)content,&dwLength)!=ERROR_SUCCESS)AfxMessageBox("錯(cuò)誤:無(wú)法查詢(xún)有關(guān)的注冊(cè)表信息");i=1;RegCloseKey(hKey);elseAfxMessageBox("錯(cuò)誤:無(wú)法打開(kāi)有關(guān)的hKEY");i=1;return i;SetValue_S ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName,LPBYTE ReSetConten

24、t_S)/設(shè)置字符串值函數(shù)int i=0; /操作結(jié)果:0=succeed/int StrLength;/StrLength=CString(SetContent_S).GetLength();if(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)=ERROR_SUCCESS)if(RegSetValueEx(hKey,ReValueName,NULL,REG_SZ,ReSetContent_S,CString(SetContent_S).GetLength()!=ERROR_SUCCESS)AfxMessageB

25、ox("錯(cuò)誤:無(wú)法設(shè)置有關(guān)的注冊(cè)表信息");i=1;RegCloseKey(hKey);elseAfxMessageBox("錯(cuò)誤:無(wú)法查詢(xún)有關(guān)的注冊(cè)表信息");i=1;return i;SetValue_D ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName,int ReSetContent_D256)/設(shè)置DWORD值函數(shù)int i=0; /操作結(jié)果:0=succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&

26、;hKey)=ERROR_SUCCESS)if(RegSetValueEx(hKey,ReValueName,NULL,REG_DWORD,(const unsigned char *)ReSetContent_D,4)!=ERROR_SUCCESS)AfxMessageBox("錯(cuò)誤:無(wú)法設(shè)置有關(guān)的注冊(cè)表信息");i=1;RegCloseKey(hKey);elseAfxMessageBox("錯(cuò)誤:無(wú)法查詢(xún)有關(guān)的注冊(cè)表信息");i=1;return i;SetValue_B (HKEY ReRootKey,TCHAR *

27、ReSubKey,TCHAR *ReValueName,BYTE ReSetContent_B256)/設(shè)置二進(jìn)制值函數(shù)int i=0; /操作結(jié)果:0=succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)=ERROR_SUCCESS)if(RegSetValueEx(hKey,ReValueName,NULL,REG_BINARY,(const unsigned char *)ReSetContent_B,4)!=ERROR_SUCCESS)AfxMessageBox(&quo

28、t;錯(cuò)誤:無(wú)法設(shè)置有關(guān)的注冊(cè)表信息");i=1;RegCloseKey(hKey);elseAfxMessageBox("錯(cuò)誤:無(wú)法查詢(xún)有關(guān)的注冊(cè)表信息");i=1;return i;DeleteKey ( HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReKeyName)/刪除子項(xiàng)函數(shù)int i=0; /操作結(jié)果:0=succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)=ERROR_SUCCESS)if(RegDeleteKey

29、(hKey,ReKeyName)!=ERROR_SUCCESS)/AfxMessageBox("清除指定項(xiàng)失敗!");i=1;RegCloseKey(hKey);else/AfxMessageBox("錯(cuò)誤:無(wú)法打開(kāi)有關(guān)的hKEY");i=1;return i;DeleteValue (HKEY ReRootKey,TCHAR *ReSubKey,TCHAR *ReValueName)/刪除鍵值函數(shù)int i=0; /操作結(jié)果:0=succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY

30、_WRITE,&hKey)=ERROR_SUCCESS)if(RegDeleteValue(hKey,ReValueName)!=ERROR_SUCCESS)/AfxMessageBox("清除指定值失敗!");i=1;RegCloseKey(hKey);else/AfxMessageBox("錯(cuò)誤:無(wú)法打開(kāi)有關(guān)的hKEY");i=1;return i;/void CRegDemoDlg:OnSetValue_S()/ TODO: Add your control notification handler code

31、hereRootKey=HKEY_CURRENT_USER; /注冊(cè)表主鍵名稱(chēng)SubKey="Software/Microsoft" /欲打開(kāi)注冊(cè)表值的地址ValueName="例1" /欲設(shè)置值的名稱(chēng)SetContent_S=LPBYTE("Visual C+編程實(shí)例"); /值的內(nèi)容if(SetValue_S(RootKey,SubKey,ValueName,SetContent_S)!=0)AfxMessageBox("操作失敗!");void CRegDemoDlg:

32、OnSetContent_B()/ TODO: Add your control notification handler code hereRootKey=HKEY_CURRENT_USER; /注冊(cè)表主鍵名稱(chēng)SubKey="Software/Microsoft" /欲打開(kāi)注冊(cè)表值的地址ValueName="例2" /欲設(shè)置值的名稱(chēng)SetContent_B0=1; /值的內(nèi)容if(SetValue_B(RootKey,SubKey,ValueName,SetContent_B)!=0)AfxMessageBox(

33、"操作失敗!");void CRegDemoDlg:OnSetContent_D()/ TODO: Add your control notification handler code hereRootKey=HKEY_CURRENT_USER; /注冊(cè)表主鍵名稱(chēng)SubKey="Software/Microsoft" /欲打開(kāi)注冊(cè)表值的地址ValueName="例3" /欲設(shè)置值的名稱(chēng)SetContent_D0=4294967295; /值的內(nèi)容if(SetValue_D(RootKey,Sub

34、Key,ValueName,SetContent_D)!=0)AfxMessageBox("操作失敗!");void CRegDemoDlg:OnDeleteValue_1()/ TODO: Add your control notification handler code hereRootKey=HKEY_CURRENT_USER; /注冊(cè)表主鍵名稱(chēng)SubKey="Software/Microsoft" /欲打開(kāi)注冊(cè)表值的地址ValueName="例1" /欲設(shè)置值的名稱(chēng)if(DeleteValue (RootKey,SubKey,ValueName)!=0)AfxMessageBox("操作失敗!");void CRegDemoDlg:OnDeleteValue_2()/ TODO: Add your control notification handler code hereRootKey=HKEY_CURRENT_USER; /注冊(cè)表主鍵名稱(chēng)SubKey="Software/Microsoft" /欲打開(kāi)注冊(cè)表值的地址ValueName="例2" /欲設(shè)置值的名稱(chēng)if(D

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論