在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;
}
}