註冊表操作部分API集合

LONG RegCreateKeyEx(           //創建
  HKEY
hKey,                                  // handle to open key
  LPCTSTR
lpSubKey,                           // subkey name,不能以"/"開頭
  DWORD
Reserved,                             // reserved,必須爲0
  LPTSTR
lpClass,                             // class string,應用程序通常爲NULL
  DWORD
dwOptions,                            // special options
  REGSAM
samDesired,                          // desired security access
  LPSECURITY_ATTRIBUTES
lpSecurityAttributes, // inheritance,繼承性,NULL爲不能被繼承
  PHKEY
phkResult,                            // key handle ,返回子鍵的句柄指針
  LPDWORD
lpdwDisposition                    // disposition value buffer
);

dwOptions取值:1、REG_OPTION_NON_VOLATILE子鍵穩定,保存在文件中;2、REG_OPTION_VOLATILE子鍵不穩,存在內存中;3、REG_OPTION_BACKUP_RESTORE該參數就使samDesired被忽略。 

samDesired:指明對被創建子鍵的存取權限!1、KEY_CREATE_LINK Permission to create a symbolic link.2、
KEY_CREATE_SUB_KEY Permission to create subkeys. 3、KEY_ENUMERATE_SUB_KEYS Permission to enumerate subkeys. 4、KEY_EXECUTE Permission for read access. 5、KEY_NOTIFY Permission for change notification. 6、KEY_QUERY_VALUE Permission to query subkey data. 7、KEY_SET_VALUE Permission to set subkey data. 8、KEY_ALL_ACCESS 包括以上所有值的組合 9、KEY_READ Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access rights. 10、KEY_WOW64_64KEY Windows XP: Enables a 64- or 32-bit application to open a 64-bit key. 11、KEY_WOW64_32KEY Windows XP: Enables a 64- or 32-bit application to open a 32-bit key. 12、KEY_WRITE Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights.

LONG RegOpenKeyEx(     //打開註冊表鍵
  HKEY
hKey,         // handle to open key
  LPCTSTR lpSubKey// subkey name
  DWORD ulOptions,   // reserved,
  REGSAM samDesired, // security access mask
  PHKEY phkResult // handle to open key );

LONG RegDeleteKey(    //刪除沒有子鍵的鍵
  HKEY
hKey,         // handle to open key
  LPCTSTR lpSubKey   // subkey name
);

DWORD SHDeleteKey(  //可刪除有子鍵的鍵
    HKEY     hkey,
    LPCTSTR  pszSubKey
    );

LONG RegCloseKey(  //關閉
  HKEY
hKey   // handle to key to close
);

LONG RegSetValueEx(   //爲某鍵設置鍵
  HKEY
hKey,           // handle to key
  LPCTSTR lpValueName, // value name
  DWORD Reserved,      // reserved
  DWORD dwType,        // value type
  CONST BYTE *lpData// value data
  DWORD cbData         // size of value data
);

LONG RegQueryValueEx(     //獲取某個鍵值
  HKEY
hKey,            // handle to key
  LPCTSTR lpValueName// value name
  LPDWORD lpReserved,   // reserved
  LPDWORD lpType,       // type buffer
  LPBYTE lpData,        // data buffer
  LPDWORD lpcbData // size of data buffer);

LONG RegDeleteValue(     //刪除鍵值
  HKEY
hKey,            // handle to key
  LPCTSTR lpValueName   // value name);

LONG RegEnumValue(      //枚舉註冊表鍵值
  HKEY
hKey,             // handle to key to query   DWORD dwIndex,         // index of value to query   LPTSTR lpValueName,    // value buffer
  LPDWORD lpcValueName// size of value buffer
  LPDWORD lpReserved,    // reserved
  LPDWORD lpType,        // type buffer
  LPBYTE lpData,         // data buffer,返回被列舉的鍵值對應的數據內容,是一個BYTE*類型參數
  LPDWORD lpcbData       // size of data buffer);

LONG RegQueryInfoKey(     //註冊表鍵的信息
  HKEY
hKey,                      // handle to key
  LPTSTR lpClass,                 // class buffer
  LPDWORD lpcClass,               // size of class buffer
  LPDWORD lpReserved,             // reserved
  LPDWORD lpcSubKeys,             // number of subkeys
  LPDWORD lpcMaxSubKeyLen,        // longest subkey name
  LPDWORD lpcMaxClassLen,         // longest class string
  LPDWORD lpcValues,              // number of value entries,該鍵對應的鍵值數量
  LPDWORD lpcMaxValueNameLen,     // longest value name
  LPDWORD lpcMaxValueLen,         // longest value data
  LPDWORD lpcbSecurityDescriptor, // descriptor length
  PFILETIME lpftLastWriteTime     // last write time
);

有些參數可選值太多了,還是在用的時候查吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章