快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

C/C++读写注册表中二进制数据(代码示例)-创新互联

1、RegOpenKeyEx 函数:

成都网站建设哪家好,找创新互联建站!专注于网页设计、重庆网站建设公司、微信开发、微信平台小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:建筑动画等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称扬!

原形:

LONG RegOpenKeyEx(
            HKEY hKey,     // 要打开主键名
            LPCTSTR lpSubKey, // 需要打开的子键或路径
            DWORD ulOptions,  // 保留,为0
            REGSAM samDesired, // 操作权限标志
            PHKEY phkResult  // 指向你打开键的句柄 (通过指针返回)
      );

 返回值:不成功返回非0,成功返回ERROR_SUCCESS.
  解释:该函数负责打开指定的键或子键,如果不存在他不建立。

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

2、RegSetValueEx函数:

原形:

LONG RegSetValueEx(
            HKEY hKey,      // 已打开的键的句柄
            LPCTSTR lpValueName, // 要查询值的名称,传如\"\"为查询键下的默认值
            DWORD Reserved,   // 保留
            DWORD dwType,    // 写入键值的类型
            CONST BYTE *lpData, // 变量数据的地址
            DWORD cbData     // 变量的长度
      );

返回值:不成功返回非0,成功返回ERROR_SUCCESS
 解释:设置某子键下特定名称的值。

查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa916717#

3、RegQueryValueEx函数:

原形:

LONG RegQueryValueEx(
            HKEY hKey,      // 已打开的键的句柄
            LPTSTR lpValueName, // 要查询值的名称,传如\"\"为查询键下的默认值
            LPDWORD lpReserved, // 保留,为0
            LPDWORD lpType,   // 查询的类型
            LPBYTE lpData,    // 数据存放的地址
            LPDWORD lpcbData   // 数据长度+1
      );

 返回值:不成功返回非0,成功返回ERROR_SUCCESS
  解释:读取某子键下特定名称的值。

查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa914692

写入二进制数据代码示例:

# include 
# include 
 
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;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:C/C++读写注册表中二进制数据(代码示例)-创新互联
文章转载:http://6mz.cn/article/eggsg.html

其他资讯