RegSetValueEx:該函數用來設置註冊表的鍵值和鍵類型
LONG RegSetValueEx(
HKEY hKey,
LPCTSTR lpValueName,
DWORD Reserved,
DWORD dwType,
const BYTE× lpDate,
DWORD cbData
);
參數
hKey
入參,標示一個被打開的鍵的句柄,該鍵必須以KEY_SET_VALUE 安全級別打開。該句柄可以是由RegCreateKeyEx或者RegOpenKeyEx函數返回的句柄,也可以是一下預定義的句柄值
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
lpValueName
入參,字符串指針,所指的字符串標示了將要設定的鍵的名稱。如果該鍵值不存在,該函數則設定該鍵值。
如果該指針爲NULL或者指向的字符串爲空,該函數爲一個無名字或者默認名字的鍵設定鍵值和類型
Reserved
入參,保留,必須爲0
dwType
入參,由lpDate所指向的數據的類型,該參數的值如下:
REG_BINARY 任意二進制數.
REG_DWORD 32位的數字.
REG_DWORD_LITTLE_ENDIAN little-endian格式32位的數字。該值在Windows頭文件中被定義爲REG_DWORD.
REG_DWORD_BIG_ENDIAN big-endian格式的32位數字,一些UNIX系統支持big-endian格式。
REG_EXPAND_SZ 字符串(例如, "%PATH%"). 當你使用Unicode函數,該值則標識Unicode字符串,否則表示ANSI字符串。
REG_LINK 保留值,供系統使用.
REG_MULTI_SZ 字符串數組。以兩個空字符結束。
REG_NONE 爲定義類型.
REG_QWORD 64位的數字
.
REG_QWORD_LITTLE_ENDIAN little-endian格式的64位數字。
Windows系統是在little-endian結構的計算機上運行的,因此該值在Windows頭文件中被定義爲REG_QWORD
REG_SZ 字符串,當使用Unicode函數是,該類型表示Unicode字符串,否則表示ANSI字符串。
lpData
入參,指向一個緩存區,該緩存區保存要設置的鍵值。如果是字符類型,則該字符串必須以NULL結尾,如果是REG_MULTI_SZ類型,該值必須以兩個NULL字符結尾。如果最後一個字符不是NULL,該函數將會檢查下一個字符,並判斷是否以NULL結尾。如果需要,該函數會增加字符串長度以便可以容納更多的字符
cbData
入參,lpData所指向信息的字節長度。如果是字符串類型,必須包含字符串結束符號。
返回值
如果成功,則返回ERROR_SUCCESS