有谁能告诉我 怎么用RegQueryValue 函数去得到一个注册表里的数值呢!

cherryppp 2001-04-23 06:40:00
...全文
192 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangw 2001-04-23
  • 打赏
  • 举报
回复
有一段代码,你看看就知道怎么用了。
//读键值
void CReg01Dlg::OnReadValue()
{
LONG lRes;
HKEY hBootKey;
int iIndex;
CString sSubKeyName;
CString sTempPath;

iIndex = m_SubKey_List.GetCurSel();
if (iIndex == LB_ERR)
{
return;
}
m_SubKey_List.GetText(iIndex,sSubKeyName);
sTempPath = KEYPATH;
sTempPath = sTempPath + "\\";
sTempPath = sTempPath + sSubKeyName;

lRes = ::RegOpenKeyEx(
HKEY_LOCAL_MACHINE,
LPCTSTR(sTempPath),
0,
KEY_ALL_ACCESS,
&hBootKey);
if (lRes == ERROR_SUCCESS)
{
UpdateData(TRUE);
if (m_Name == "")
{
//显示该子键下所有值
CReg01Dlg::ShowNameValueMsg(hBootKey);
}
else
{
//显示指定名称的值
DWORD dwType;
unsigned char* lpValue = new unsigned char[1025];
DWORD dwValueLen = 1024; // 注意:必须先赋值

lRes = ::RegQueryValueEx(
hBootKey,
LPCTSTR(m_Name),
NULL,
&dwType,
lpValue,
&dwValueLen);
if (lRes == ERROR_SUCCESS)
{
lpValue[dwValueLen] = NULL;
m_Value = (CString)((char*)lpValue);
UpdateData(FALSE);
}
delete lpValue;
}
}
::RegCloseKey(hBootKey);
return;
}
shadowac 2001-04-23
  • 打赏
  • 举报
回复
查MSDN啊!!!!!
lvlu 2001-04-23
  • 打赏
  • 举报
回复
RegOpenKeyEx(HKEY_CURRENT_USER, szRegPath,0, KEY_READ, &hkey);
...//定义dwType,cbData,buffer
RegQueryValueEx(hkey,NULL,NULL,&dwType,(LPBYTE)&buffer,&cbData);
RegCloseKey(hkey);

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧