在注册表写入+读取当前软件的语言版本号+路径信息

本文介绍了如何使用C++在Windows注册表中设置和获取应用程序路径及语言参数的方法。具体包括创建注册表项、设置值以及查询注册表中的特定值。

在注册表写入+读取当前软件的语言版本号

 

 CString CLeadShowApp::GetLanguagePara()
{
 DWORD pCount=1024;
 TCHAR szValue[1024];
 CString str;
 CRegKey reg;
 if ( ERROR_SUCCESS==reg.Create(HKEY_CURRENT_USER, _T("Software//Leyard")))
 {
  
  if (ERROR_SUCCESS==reg.QueryValue(szValue, _T("Language"), &pCount))
  {
   str.Format(_T("%s"), szValue);
  }
  else
  {
   str = _T("0");
   reg.SetValue(str, _T("Language"));
  }
 }
 return str;
}

void CLeadShowApp::SetLanguagePara(CString str)
{
 CRegKey reg;
 if ( ERROR_SUCCESS==reg.Create(HKEY_CURRENT_USER, _T("Software//Leyard")))
 {
  reg.SetValue(str, _T("Language"));
 }
}

 


BOOL CLeadShowApp::SetAppPath(CString strSysPath)
{
 HKEY hk;
 if ( ::RegCreateKey( HKEY_CURRENT_USER, _T("SOFTWARE//Leyard//"), &hk ) != ERROR_SUCCESS )
 {
  //AfxMessageBox( "打开注册表失败" );
  return FALSE;
 }

 strSysPath = strSysPath+_T("SuperEdit.exe");
 LPBYTE BYTECtrlPath = (LPBYTE)strSysPath.GetBuffer(0);
 DWORD Len = strSysPath.GetLength() +1;
 DWORD type = REG_SZ;
 LONG ret1 = ::RegSetValueEx(hk,_T("SuperEdit"),NULL,type,BYTECtrlPath,Len);
 if (ret1 != ERROR_SUCCESS)
 {
  //MessageBox("错误: 无法修改有关注册表信息!");
  ::RegCloseKey(hk);
  return FALSE;
 }
 ::RegCloseKey(hk);
 return TRUE;
}

CString CLeadShowApp::GetAppPath()
{
 HKEY hk;
 if ( ::RegOpenKey( HKEY_CURRENT_USER, _T("SOFTWARE//Leyard//"), &hk ) != ERROR_SUCCESS )
 {
  //AfxMessageBox( "打开注册表失败" );
  return _T("");
 }

 TCHAR GetLan[80];
 memset(GetLan,0,80);
 CString SysPath;

 DWORD Len = 80;
 DWORD type = REG_SZ;
 LONG ret1 = ::RegQueryValueEx(hk, _T("SuperEdit"),NULL,&type,(LPBYTE)GetLan,&Len);
 if (ret1 != ERROR_SUCCESS)
 {
  //MessageBox("错误: 无法读取有关注册表信息!");
  ::RegCloseKey(hk);
  return _T("");
 }
 ::RegCloseKey(hk);
 //CString str = (char *)GetLan;
 SysPath.Format(_T("%s"), GetLan/*str.GetBuffer(0)*/);
 
 return SysPath;
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值