WINCE 读写注册表操作

#include <Winreg.h>
HKEY g_hKey = NULL;
//xxx.h 文件
void   OpenFile(WCHAR *pFilePath,BOOL nFlag = 0);
long   ReadFile(WCHAR *pRegKey,BYTE *pReadBuf,DWORD nReadLen,DWORD dwType);
long   WriteFile(WCHAR *pRegKey,BYTE *pWriteBuf,DWORD nWriteLen,DWORD dwType);
void   CloseFile(BOOL nCloseFlag);

//xxx.cpp文件
void OpenFile(WCHAR *pFilePath,BOOL nOpenFlag)
{
 long ret=::RegOpenKeyEx(HKEY_CURRENT_USER,pFilePath, 0, KEY_ALL_ACCESS, &g_hKEY);
 if(ERROR_SUCCESS != ret)
 {
  DWORD dwPos = 0;
  long ret1=RegCreateKeyEx(HKEY_CURRENT_USER,pFilePath,0,0,REG_OPTION_NON_VOLATILE,0,NULL, &g_hKEY,&dwPos);
  if(ERROR_SUCCESS != ret1)
  {
   g_hKEY = NULL;
   RETAILMSG(true,(L"RegCreateKeyEx failed. /r/n"));
  }
  else
  {
   RETAILMSG(true,(L"OK .g_hKEY = %x/r/n",g_hKEY));
  }
 }
}

long ReadFile(WCHAR *pRegKey,BYTE *pReadBuf,DWORD nReadLen,DWORD dwType)
{
 long ret = 0;
 if(NULL == g_hKEY)
 {
  ret = -1;
  RETAILMSG(true,(L" failed NULL == g_hKEY./r/n"));
  return ret;
 }
 ret=RegQueryValueEx(g_hKEY,pRegKey,NULL,&dwType,pReadBuf,&nReadLen);
 if(ERROR_SUCCESS != ret)
 {
  ret = -1;
  RETAILMSG(true,(L"RegQueryValueEx failed./r/n"));
 }
 return ret;
}

long WriteFile(WCHAR *pRegKey,BYTE *pWriteBuf,DWORD nWriteLen,DWORD dwType)
{
 long ret = 0;
 if(NULL == g_hKEY)
 {
  ret = -1;
  RETAILMSG(true,(L"g_hKEY == NULL./r/n"));
  return ret;
 }
 ret=::RegSetValueEx(g_hKEY,pRegKey,0,dwType,(LPBYTE) pWriteBuf,nWriteLen);
 if(ERROR_SUCCESS != ret)
 {
  ret = -1;
  RETAILMSG(true,(L"RegSetValueEx failed./r/n"));
 }
 return ret;
}

void CloseFile(BOOL nCloseFlag)
{
 if(g_hKEY)
 {
  long ret=::RegCloseKey(g_hKEY);
  g_hKEY = NULL;
  RETAILMSG(true,(L"RegCloseKey OK./r/n"));
 }
 else
 {
  RETAILMSG(true,(L"RegCloseKey failed/r/n"));
 }
}

 

#define REGMAXLEN 200

OpenFile(REGPATH,0);
BYTE buf[REGMAXLEN];

memset(buf,0,REGMAXLEN);
ReadFile(TEXT("XXX"),buf,REGMAXLEN,REG_DWORD);
memcpy(&commInfo->XXX,buf,sizeof(commInfo->XXX));
CloseFile(0);


OpenFile(REGPATH,0);
BYTE buf[REGMAXLEN];

memset(buf,0,REGMAXLEN);
memcpy(buf,&commInfo->XXX,sizeof(commInfo->XXX));
WriteFile(TEXT("XXX"),buf,sizeof(commInfo->XXX),REG_DWORD);
CloseFile(0);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值