您好,登錄后才能下訂單哦!
1、RegOpenKeyEx 函數(shù):
原形:
LONG RegOpenKeyEx(
HKEY hKey, // 要打開(kāi)主鍵名
LPCTSTR lpSubKey, // 需要打開(kāi)的子鍵或路徑
DWORD ulOptions, // 保留,為0
REGSAM samDesired, // 操作權(quán)限標(biāo)志
PHKEY phkResult // 指向你打開(kāi)鍵的句柄 (通過(guò)指針?lè)祷兀?nbsp;
);
返回值:不成功返回非0,成功返回ERROR_SUCCESS.
解釋:該函數(shù)負(fù)責(zé)打開(kāi)指定的鍵或子鍵,如果不存在他不建立。
查看微軟官方文檔:http://msdn.microsoft.com/zh-cn/aa912084
2、RegSetValueEx函數(shù):
原形:
LONG RegSetValueEx(
HKEY hKey, // 已打開(kāi)的鍵的句柄
LPCTSTR lpValueName, // 要查詢值的名稱,傳如\"\"為查詢鍵下的默認(rèn)值
DWORD Reserved, // 保留
DWORD dwType, // 寫(xiě)入鍵值的類型
CONST BYTE *lpData, // 變量數(shù)據(jù)的地址
DWORD cbData // 變量的長(zhǎng)度
);
返回值:不成功返回非0,成功返回ERROR_SUCCESS
解釋:設(shè)置某子鍵下特定名稱的值。
查看微軟官方文檔:http://msdn.microsoft.com/zh-cn/aa916717#
3、RegQueryValueEx函數(shù):
原形:
LONG RegQueryValueEx(
HKEY hKey, // 已打開(kāi)的鍵的句柄
LPTSTR lpValueName, // 要查詢值的名稱,傳如\"\"為查詢鍵下的默認(rèn)值
LPDWORD lpReserved, // 保留,為0
LPDWORD lpType, // 查詢的類型
LPBYTE lpData, // 數(shù)據(jù)存放的地址
LPDWORD lpcbData // 數(shù)據(jù)長(zhǎng)度+1
);
返回值:不成功返回非0,成功返回ERROR_SUCCESS
解釋:讀取某子鍵下特定名稱的值。
查看微軟官方文檔:http://msdn.microsoft.com/zh-cn/aa914692
寫(xiě)入二進(jìn)制數(shù)據(jù)代碼示例:
# include <windows.h> # include <tchar.h> int main(void) { HKEY hKey; HKEY rootKey = HKEY_CURRENT_USER; TCHAR * subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" "\\MenuOrder\\Start Menu2\\Programs\\test"; TCHAR * keyValue = "c:\\test.exe"; long openReg; long setRegValue; DWORD dwType = REG_BINARY; BYTE value[256] = "c:\\test.exe"; openReg = RegOpenKeyEx(rootKey, subKey, 0, KEY_WRITE, &hKey); if (openReg == ERROR_SUCCESS) { setRegValue = RegSetValueEx(hKey, _T("order"), 0, dwType, value, 256); if (setRegValue == ERROR_SUCCESS) { MessageBox(NULL, _T("Write Sucess"), _T("call"), MB_OK); } else { MessageBox(NULL, _T("Write Fail"), _T("call"), MB_OK); } RegCloseKey(hKey); } return 0; }
讀取二進(jìn)制數(shù)據(jù)的代碼示例:
# include <windows.h> # include <tchar.h> int main(void) { HKEY hKey; HKEY rootKey = HKEY_CURRENT_USER; TCHAR * subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" "\\MenuOrder\\Start Menu2\\Programs\\test"; long openRegResult; long readRegResult; DWORD dwType = REG_BINARY; REGSAM mode = KEY_READ; BYTE value[256] = {0}; DWORD length = 256; openRegResult = RegOpenKeyEx(rootKey, subKey, 0, mode, &hKey); if (ERROR_SUCCESS == openRegResult) { readRegResult = RegQueryValueEx(hKey, _T("order"), 0, &dwType, value, &length); if (ERROR_SUCCESS == readRegResult) { MessageBox(NULL, _T(value), _T("call"), MB_OK); } else { MessageBox(NULL, _T("ERROR"), _T("call"), MB_OK); } } RegCloseKey(hKey); return 0; }
注:讀寫(xiě)其他類型的注冊(cè)表鍵值與上述的類似,不單獨(dú)講解了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。