⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regop.cpp

📁 ZPAV (H265) PC(X86) demo ZPAV (H265) 是 音视频 压缩解压 协议
💻 CPP
字号:

/*
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Copyright (C) 2006-2008  Beijing,  pengzhen (pengzhenxp@yahoo.com.cn)   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
*/


#include "Regop1.cpp"

BOOL GetRegDwordValue(DWORD* pdwData, TCHAR* szInfo, TCHAR* pItemStr)
{
	BOOL bOk = FALSE;
    //TCHAR szInfo[] = TEXT(REG_DRIVERS_SECTION);   // Constructs key names
	HKEY hKey;
	LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,   // Handle of an open key
		                     szInfo,			   // Address of subkey name
		                     (DWORD) 0,            // Reserved value
		                     KEY_ALL_ACCESS,       // Desired security access
		                     &hKey);			   // Opened handle buffer
	
	// *pdwData = 0; //peng zhen 
	
	if (lRet != ERROR_SUCCESS) return bOk;
	
	{
		
		DWORD dwKeyType = REG_DWORD ;
		DWORD dwKeySize = sizeof(DWORD);
		DWORD dwData;
		lRet = RegQueryValueEx(hKey, 
			                   pItemStr, 
			                   NULL, 
			                   &dwKeyType, 
			                   (LPBYTE)&dwData, 
			                   &dwKeySize);
		
		if (lRet == ERROR_SUCCESS)
		{
			*pdwData = dwData;
			bOk = TRUE;
		}
		
	}
	
	RegCloseKey( hKey );
	
	return bOk;
}


BOOL GetRegStringValue(TCHAR* lpstr , DWORD lpstrSize , TCHAR* szInfo , TCHAR* pItemStr)
{
	BOOL bOk = FALSE;
    //TCHAR szInfo[] = TEXT(REG_DRIVERS_SECTION);   // Constructs key names
	HKEY hKey;
	LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,   // Handle of an open key
		                     szInfo,			   // Address of subkey name
		                     (DWORD) 0,            // Reserved value
		                     KEY_ALL_ACCESS,       // Desired security access
		                     &hKey);			   // Opened handle buffer
	
	// lpstr[0] = '\0'; //peng zhen 
	
	if (lRet != ERROR_SUCCESS) return bOk;
	
	{
		
		DWORD dwKeyType = REG_SZ;
		DWORD dwKeySize = lpstrSize ;
		lRet = RegQueryValueEx(hKey, 
			pItemStr, 
			NULL, 
			&dwKeyType, 
			(LPBYTE)&lpstr[0], 
			&dwKeySize);
		
		if (lRet == ERROR_SUCCESS)
		{
			bOk = TRUE;
		}
		
	}
	
	RegCloseKey( hKey );
	
	return bOk;
}


void SetRegDwordValue(DWORD dwData, TCHAR* szInfo, TCHAR* pItemStr)
{
	//TCHAR szInfo[] = TEXT(REG_DRIVERS_SECTION);   // Constructs key names
	HKEY hKey;
	LONG lRet = RegCreateKeyEx(HKEY_LOCAL_MACHINE,   // Handle of an open key
		                       szInfo,			     // Address of subkey name
		                       (DWORD) 0,            // Reserved value
		                       NULL,                 // Address of class name
		                       (DWORD) 0,            // Special options flags
		                       KEY_ALL_ACCESS,       // Desired security access
		                       NULL,                 // Key security descriptor
		                       &hKey,				 // Opened handle buffer
		                       NULL);                // What really happened
	
	if (lRet != ERROR_SUCCESS) return;
	
	{
		
		DWORD dwKeyType = REG_DWORD;
		DWORD dwKeySize = sizeof(DWORD);
		lRet = RegSetValueEx(
			                 hKey,                       // Handle to an open key
			                 pItemStr,					 // Subkey name derivation
			                 0,                          // Reserved field
			                 dwKeyType,                  // Returns the field type
			                 (LPBYTE)&dwData,			 // Returns the field's value
			                 dwKeySize );				 // Number of bytes transferred
		
	}
	
	RegCloseKey( hKey );
}

void SetRegStringValue(TCHAR* lpstr , DWORD lpstrSize , TCHAR* szInfo , TCHAR* pItemStr)
{
	//TCHAR szInfo[] = TEXT(REG_DRIVERS_SECTION);   // Constructs key names
	HKEY hKey;
	
	LONG lRet = RegCreateKeyEx(HKEY_LOCAL_MACHINE,    // Handle of an open key
		                       szInfo,			      // Address of subkey name
		                       (DWORD) 0,             // Reserved value
		                       NULL,                  // Address of class name
		                       (DWORD) 0,             // Special options flags
		                       KEY_ALL_ACCESS,        // Desired security access
		                       NULL,                  // Key security descriptor
		                       &hKey,				  // Opened handle buffer
		                       NULL);                 // What really happened
	
	if (lRet != ERROR_SUCCESS) return;
	
	{
		
		DWORD dwKeyType = REG_SZ;
		DWORD dwKeySize = lpstrSize ;
		lRet = RegSetValueEx(
			                 hKey,                      // Handle to an open key
			                 pItemStr,					// Subkey name derivation
			                 0,                         // Reserved field
			                 dwKeyType,                 // Returns the field type
			                 (LPBYTE)lpstr,			    // Returns the field's value
			                 dwKeySize );				// Number of bytes transferred
		
	}
	
	RegCloseKey( hKey );
}


void DeleteKeyValue(TCHAR* szInfo , TCHAR* pItemStr )
{
	//TCHAR szInfo[] = TEXT(REG_DRIVERS_SECTION);   // Constructs key names
	HKEY hKey;
	
	LONG lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,   // Handle of an open key
		                     szInfo,			   // Address of subkey name
		                     (DWORD) 0,            // Reserved value
		                     KEY_ALL_ACCESS,       // Desired security access
		                     &hKey);			   // Opened handle buffer

	if (lRet != ERROR_SUCCESS) return;
	
	RegDeleteKey(hKey , pItemStr  );

	RegCloseKey( hKey );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -