RegQueryValueEx详解

说到“详解”二字,实在是有点不敢当,但是当我为了找到它的正确使用方法在网上到处奔波的时候,最后给我的都是一些破碎的答案,即便是篇幅丰满的,也是将MSDN上面的东西照搬过来,只不过翻译了一下。

所以我决定将RegQueryValueEx“详解"一下。

头文件:windows.h(一般进行MFC开发的都不用考虑这个问题)

例子描述:判断当前操作系统是否是Windows Xp

HKEY hKey;
DWORD dwType = REG_SZ;
DWORD dwSize;
wchar_t data[MAX_PATH];
bool ret;

using ::wcscmp;

ret = RegOpenKey(HKEY_LOCAL_MACHINE, L"SOFTWARE//Microsoft//Windows NT//CurrentVersion", &hKey) == ERROR_SUCCESS;

ret = RegQueryValueEx(hKey,L"ProductName",
                NULL,
                &dwType,
                (LPBYTE)data,
                &dwSize) == ERROR_SUCCESS;

ret = wcscmp(data, L”Microsoft Windows XP”) == 0;

 

详解:

该例子的完整注册表信息为:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion

在subKey中不能包含有HKEY_LOCAL_MACHINE。

image

在上图中,左边的叫做RegKey,右边的叫做RegValue,只一点必须搞清楚。而图中的"名称”叫做Value name。

所以这就是为什么我们在取值时,必须先通过RegOpenKey来找到Key,然后再通过RegQueryValueEx来找到这个Key中包含的Value。

 

希望我都说清楚了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天好,会的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值