1、RegCloseKey()
  原型:RegCloseKey(HKEY hKey)

  解釋:關閉指定的注冊表鍵,釋放句柄。當對一個或多個鍵或值操作完成以后,需要關閉其鍵來進行保存操作結果,關閉一個鍵后,句柄變為非法,此時應釋放句柄。
2、RegCreateKeyEx()
  原型:LONG RegCreateKeyEx( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved,
LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult, LPDWORD lpdwDisposition );

  解釋:打開指定的鍵或子鍵。如果要打開的鍵不存在的話,本函數會試圖建立它。提供該函數是為了向后兼容。所有的WIN32應用程序應使用函數RegCreateKeyEx()。 各參數及返回值的含義如下:

·hKey為主鍵值,可以取下面的一些數值:HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、  HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER、HKEY_PERFORMANCE_DATA(WINNT操作系統)、HKEY_DYN_DATA(WIN9X操作系統);
·參數lpSubKey為一個指向以零結尾的字符串的指針,其中包含將要創建或打開的子鍵的名稱。子鍵不可以用反斜線(\)開始。該參數可以為NULL;

·參數Reserved為保留值,必須設置為0;

·參數lpClass為一個指向包含鍵類型的字符串。如果該鍵已經存在,則忽略該參數;

·參數dwOptions為新創建的鍵設置一定的屬性。可以取下面的一些數值:  REG_OPTION_NON_VOLATILE ,表示新創建的鍵為一個非短暫性的鍵(數據信息保存在文件中,當系統重新啟動時,數據信息恢復);REG_OPTION_VOLATILE,表示新創建的鍵為一個短暫性的鍵(數據信息保存在內存中),Windows95忽略該數值;REG_OPTION_BACKUP_RESTORE 僅在WINNT中支持,可以提供優先級支持;

  ·參數samDesired用來設置對鍵訪問的權限,可以取下面的一些數值:KEY_CREATE_LINK,表示準許生成符號鍵;KEY_CREATE_SUB_KEY 表示準許生成子鍵;KEY_ENUMERATE_SUB_KEYS 表示準許生成枚舉子鍵;KEY_EXECUTE 表示準許進行讀操作;KEY_NOTIFY表示準許更換通告;  KEY_QUERY_VALUE 表示準許查詢子鍵;KEY_ALL_ACCESS 提供完全訪問,是上面數值的組合;

  KEY_READ 是下面數值的組合:KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYS、KEY_NOTIFY;  KEY_SET_VALUE 表示準許設置子鍵的數值;KEY_WRITE 是下面數值的組合:KEY_SET_VALUE、KEY_CREATE_SUB_KEY;
·參數lpSecurityAttributes為一個指向SECURITY_ATTRIBUTES結構的指針,確定返回的句柄是否被子處理過程繼承。如果該參數為NULL,則句柄不可以被繼承。在WINNT中,該參數可以為新創建的鍵增加安全的描述;

  ·參數phkResult為一個指向新創建或打開的鍵的句柄的指針;

  ·參數lpdwDispition指明鍵是被創建還是被打開的,可以是下面的一些數值:  REG_CREATE_NEW_KEY 表示鍵先前不存在,現在被創建;REG_OPENED_EXISTING_KEY 表示鍵先前已存在,現在被打開。

  如果該函數調用成功,則返回ERROR_SUCCESS。否則,返回值為文件WINERROR.h中定義的一個非零的錯誤代碼,可以通過設置FORMAT_MESSAGE_FROM_SYSTEM標識調用FormatMessage()函數來獲取一個對錯誤的總體描述。
3、RegOpenKeyEx()
  原型:LONG RegOpenKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions,
REGSAM samDesired, PHKEY phkResult );

  解釋:打開一個指定的鍵,并返回打開鍵的句柄。

各參數及返回值的含義如下:
·參數hKey的含義同RegCreateKeyEx函數中的hKey參數;

·參數lpSubKey為一個指向以零結尾的字符串的指針,其中包含子鍵的名稱,可以利用反斜線(\)分隔不同的子鍵名。如果字符串為空,則根據hKey參數創建一個新的句柄。在這種情況下,并不關閉先前打開的句柄;
·參數ulOption保留,通常必須設置為0;

·參數samDesired的含義同RegCreateKeyEx函數中的samDesired參數;

·參數phkResult為一個指針,用來指向打開的鍵的句柄。可以通過RegCloseKey函數關閉這個句柄;

·函數的返回值同RegCreateKeyEx函數的返回值。
4、查詢某一個鍵值:RegQueryValueEx()

  原型:LONG RegQueryValueEx(HKEY hKey, LPCTSTR lpValueName, LPDWORD pReserved, LPDWORD lpType,
LPBYTE lpData, LPDWORD lpcbData );

  解釋:根據要查詢的鍵的句柄,要返回的查詢的數據。

  各個參數及返回值的含義如下:

  ·參數hKey為當前的一個打開的鍵的句柄,具體數值同RegCreateKeyEx函數的hKey參數;

  ·參數lpVauleName為一個指向非空的包含查詢值的名稱的字符串指針;

  ·參數lpReserved保留,必須為NULL;

  ·參數lpType為一個指向數據類型的指針,數據類型為下列類型之一:REG_BINARY 二進制數據、REG_DWORD 32位整數、REG_DWORD_LITTLE_ENDIAN little-endian格式的數據,例如0X12345678以(0X78 0X56 0X34 0X12)方式保存、REG_DWORD_BIG_ENDIAN big-endian格式的數據,例如0X12345678以(0X12 0X34 0X56 0X78)方式保存、REG_EXPAND_SZ 一個包含未擴展環境變量的字符串、REG_LINK 一個Unicode類型的鏈接、REG_MULIT_SZ 以兩個零結尾的字符串、REG_NONE 無類型數值、REG_RESOURCE_LIST 設備驅動資源列表、REG_SZ 一個以零結尾的字符串根據函數使用的字符集類型的不同而設置為Unicode或ANSI類型的字符串;

  ·參數lpData為一個指向保存返回值的變量的指針。如果不需要返回值,該參數可以為NULL;

  ·參數lpcbData為一個指向保存返回值長度的變量的指針。其中長度以字節為單位。如果數據類型為REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ,那么長度也包括結尾的零字符,只有在參數lpData為NULL時,參數lpcbData才可以為NULL;返回值同RegCreateKeyEx函數的返回值;
 5、RegSetValueEx()

  原型:LONG RegSetValueEx(HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, DWORD dwType,
const BYTE *lpData, DWORD cbData);

  解釋:設置注冊表中的一個鍵值。

  各個參數及返回值的含義如下:

  ·參數hKey的含義同RegCreateKeyEx函數中的hKey參數;

  ·參數lpValueName為一個指向包含值名的字符串指針;Reserved保留,通常必須設置為0;

  ·參數dwType確定了設置的值的類型同RegQueryValueKeyEx的lyType參數;

  ·參數lpData為一個指向包含數據的緩沖區的指針;

  ·參數cbData以字節為單位,指定數據的長度;

  返回值同RegCreateKeyEx函數的返回值。
6、RegDeketeKey()

  原型:LONG RegDeleteKey(HKEY hKey,LPCTSTR lpSubKEY);

  解釋:函數RegDeketeKey刪除一個鍵及所有的子鍵。

  各個參數及返回值的含義如下:

  ·參數hKey的含義同RegCreateKeyEx函數中的hKey參數;

  ·參數lpSubKey的含義同RegCreateKeyEx函數中的lpSubKey參數。