欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C/C++讀寫注冊(cè)表中二進(jìn)制數(shù)據(jù)(代碼示例)

 更新時(shí)間:2020年02月05日 20:10:31   作者:烈風(fēng)  
這篇文章主要介紹了使用Windows API 函數(shù)中的RegOpenKeyEx()函數(shù)和RegSetValueEx()函數(shù)來(lái)實(shí)現(xiàn)對(duì)注冊(cè)表某項(xiàng)寫入二進(jìn)制鍵值,需要的朋友可以參考下

1、RegOpenKeyEx 函數(shù):

原形:

LONG RegOpenKeyEx(  
            HKEY hKey,     // 要打開主鍵名  
            LPCTSTR lpSubKey, // 需要打開的子鍵或路徑  
            DWORD ulOptions,  // 保留,為0 
            REGSAM samDesired, // 操作權(quán)限標(biāo)志  
            PHKEY phkResult  // 指向你打開鍵的句柄 (通過(guò)指針?lè)祷兀?nbsp;
      );  

  返回值:不成功返回非0,成功返回ERROR_SUCCESS.  
  解釋:該函數(shù)負(fù)責(zé)打開指定的鍵或子鍵,如果不存在他不建立。

  查看微軟官方文檔:http://msdn.microsoft.com/zh-cn/aa912084

2、RegSetValueEx函數(shù):

 原形:

LONG RegSetValueEx(  
            HKEY hKey,      // 已打開的鍵的句柄  
            LPCTSTR lpValueName, // 要查詢值的名稱,傳如\"\"為查詢鍵下的默認(rèn)值  
            DWORD Reserved,   // 保留  
            DWORD dwType,    // 寫入鍵值的類型  
            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,      // 已打開的鍵的句柄  
            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

寫入二進(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;
}

注:讀寫其他類型的注冊(cè)表鍵值與上述的類似,不單獨(dú)講解了。

相關(guān)文章

  • C語(yǔ)言堆結(jié)構(gòu)處理TopK問(wèn)題詳解

    C語(yǔ)言堆結(jié)構(gòu)處理TopK問(wèn)題詳解

    TopK問(wèn)題即在N個(gè)數(shù)中找出最大的前K個(gè),這篇文章將詳細(xì)講解如何利用小根堆的方法解決TopK問(wèn)題,文中代碼具有一定參考價(jià)值,快跟隨小編一起學(xué)習(xí)一下吧
    2022-06-06
  • C++關(guān)于引用作為函數(shù)的用法

    C++關(guān)于引用作為函數(shù)的用法

    今天小編就為大家分享一篇關(guān)于C++關(guān)于引用作為函數(shù)的用法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • C語(yǔ)言中求解圖形的問(wèn)題

    C語(yǔ)言中求解圖形的問(wèn)題

    這篇文章主要介紹了C語(yǔ)言中求解圖形的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++指針參數(shù)傳遞和引用參數(shù)傳遞的區(qū)別解析

    c++指針參數(shù)傳遞和引用參數(shù)傳遞的區(qū)別解析

    這篇文章主要介紹了c++指針參數(shù)傳遞和引用參數(shù)傳遞的區(qū)別解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • MFC控件大小隨窗體大小而改變

    MFC控件大小隨窗體大小而改變

    本文給大家分享的是使用VC++根據(jù)對(duì)話框大小調(diào)整控件大小的方法和示例代碼,有需要的小伙伴可以參考下。
    2015-06-06
  • C++中const與#define的利弊分析

    C++中const與#define的利弊分析

    C++中不但可以用define定義常量還可以用const定義常量,下面這篇文章主要給大家分析介紹了關(guān)于C++中const與#define的利弊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 在C++中高效使用和處理Json格式數(shù)據(jù)的示例代碼

    在C++中高效使用和處理Json格式數(shù)據(jù)的示例代碼

    最近的項(xiàng)目在用c處理后臺(tái)的數(shù)據(jù)時(shí),因?yàn)楹枚嗤獠拷涌诙荚谑褂肑son格式作為返回的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)描述,如何在c中高效使用和處理Json格式的數(shù)據(jù)就成為了必須要解決的問(wèn)題,需要的朋友可以參考下
    2023-11-11
  • 關(guān)于C++友元類的實(shí)現(xiàn)講解

    關(guān)于C++友元類的實(shí)現(xiàn)講解

    今天小編就為大家分享一篇關(guān)于關(guān)于C++友元類的實(shí)現(xiàn)講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • QT自定義QTextEdit實(shí)現(xiàn)大數(shù)據(jù)的實(shí)時(shí)刷新顯示功能實(shí)例

    QT自定義QTextEdit實(shí)現(xiàn)大數(shù)據(jù)的實(shí)時(shí)刷新顯示功能實(shí)例

    TextEdit是我們常用的Qt控件,用來(lái)顯示文本信息,下面這篇文章主要給大家介紹了關(guān)于QT自定義QTextEdit實(shí)現(xiàn)大數(shù)據(jù)的實(shí)時(shí)刷新顯示功能的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • win32 api實(shí)現(xiàn)2048游戲示例

    win32 api實(shí)現(xiàn)2048游戲示例

    這篇文章主要介紹了win32 api實(shí)現(xiàn)2048游戲示例,需要的朋友可以參考下
    2014-05-05

最新評(píng)論