WINCE 读写注册表操作
2008-11-27 18:18
477 查看
#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);
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);
相关文章推荐
- Qt编程4:QSettings使用一(windows注册表的读写:实际操作)
- VC与EVC注册表读写操作对比
- WinCE注册表操作API函数(二)
- WINCE 文本读写操作总结
- 注册表读写操作(模块)
- VC中注册表的读写修改操作
- 封装的注册表操作接口(目前使用在WINCE上)
- Wince驱动下操作线程,写入注册表,共享串口信息
- wince6.0 注册表的相关操作和说明
- 注册表读写操作(模块)
- C#中关于文件读写操作和注册表操作
- c++添加开机启动项,win32 api操作注册表,读写注册表
- 读写操作,文件和注册表
- ISSI IS61LV6416 的SRAM在AM3358 WinCE上读写操作
- WinCE注册表操作API
- WinCE文件读写操作
- WinCE6下字符串在注册表中读写操作
- VC下注册表读写操作
- Wince 下,对注册表的操作,主要是音亮大小。
- WINCE 文本读写操作总结