wince注册表编程(新建,读取,修改)

来源:互联网 发布:linux jdk安装 编辑:程序博客网 时间:2024/05/22 05:08

作者:太阳下的泪

转自:http://blog.sina.com.cn/s/blog_5be1061c0100bb2s.html


在WINCE中,经常会使用到对注册表的编程,现在把最常用的注册表程序贴出来,希望对大家有所帮助.一共三个功能,其中用到的API函数具体用法请参照MSDN,有疑问可以留言到本BLOG.

 

//******************************************************************
//创建一个注册表健
//******************************************************************
const LPCTSTR  keyName =L"RegTest";       //注册表健名
void CreateRegKey(void)
{
 LONG lResult = 0;
 DWORD dwOpenStyle;
 HKEY hOpenKey;
 //RECT rclSlider;
   //新建注册表健
 lResult =RegCreateKeyEx(HKEY_CURRENT_USER,keyName,0,L"",0,0,NULL,&hOpenKey,&dwOpenStyle);

 
 ASSERT(lResult == ERROR_SUCCESS);
 RegCloseKey(hOpenKey);
}
//******************************************************************
//打开注册表,增加健名,健值( 修改健值的方法也一样)
//******************************************************************
LPARAM DoSaveLanguage(HWND hWnd, WORD idItem, HWND hwndCtl,
                         WORD wNotifyCode)
{
 LONG lResult = 0;
// DWORD dwOpenStyle;
 HKEY hOpenKey;
 //RECT rclSlider;
   //打开注册表健
 lResult =RegOpenKeyEx(HKEY_CURRENT_USER,keyName,0,0,&hOpenKey);//RegCreateKeyEx(HKEY_CURRENT_USER,keyName,0,L"",0,0,NULL,&hOpenKey,&dwOpenStyle);

 ASSERT(lResult == ERROR_SUCCESS);
 
 LPCTSTR strKeyName = L"**"; //键名
 DWORD dwKeyValue = int**;//健值
 lResult =RegSetValueEx(hOpenKey,strKeyName,0,REG_SZ,(BYTE*)&dwKeyValue,sizeof(dwKeyValue));
 
 ASSERT(lResult == ERROR_SUCCESS);
 //关闭打开的健
 RegCloseKey(hOpenKey); 
 return 0;
 
}
//******************************************************************
//读取注册表健名,健值
//******************************************************************
void GetCurrentLanguage(void)
{
  const LPCTSTR  keyName =L"RegTest";       //注册表健名
 
 //读取子健信息
        HKEY hOpenKey;
  long lResult = 0;
  DWORD dwKeyValueType = 0;
  DWORD dwKeyValueLength = 0 ;
 
  //打开指定健
  lResult =RegOpenKeyEx(HKEY_CURRENT_USER,keyName,0,0,&hOpenKey);
  //ASSERT(lResult == ERROR_SUCCESS);
  //读取健值,INT
  LPCTSTR dwKeyName = L"**"; //要读取的健值
  DWORD dwKeyValue =0;        //保存读取后的健值
  dwKeyValueLength = sizeof(LPCTSTR);
  lResult =RegQueryValueEx(hOpenKey,dwKeyName,0,&dwKeyValueType,(BYTE*)&dwKeyValue,&dwKeyValueLength);
  ASSERT(lResult == ERROR_SUCCESS);
  //关闭打开健
  RegCloseKey(hOpenKey);
  //测试:显示打开的健值
  switch(dwKeyValue)
  {
 
  case LANGUAGE_ENGLISH:
   break;
  case LANGUAGE_TAIWANG:
   break;
  default:
   break;
  }
}