gpt4 book ai didi

c++ - RegOpenKeyEx 在 HKEY_LOCAL_MACHINE 上失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:04 24 4
gpt4 key购买 nike

您好,我正在尝试读取为我提供 firefox.exe 路径的注册表值。这存储在

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 3.0.10\bin

(版本号可以在别处找到)

但我似乎无法让 RegOpenKeyEx 为以下任何内容返回 ERROR_SUCCESS

HKEY_LOCAL_MACHINE

所以这个测试失败了:

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("\\SOFTWARE"),0,KEY_QUERY_VALUE,&keyHandle) == ERROR_SUCCESS)

当这个测试通过时:

if(RegOpenKeyEx(HKEY_CLASSES_ROOT,TEXT("\\Shell"),0,KEY_QUERY_VALUE,&keyHandle) == ERROR_SUCCESS)

最佳答案

以下代码在我的机器上失败,错误代码为 161,这意味着“路径错误”(在 winerror.h 中查找):

long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE"),
0,KEY_QUERY_VALUE, &hk );

然后我将对 RegOpenKeyEx 的调用更改为使用“SOFTWARE”(注意没有前导斜杠)并且它起作用了:

#include <windows.h>
#include <iostream>
using namespace std;

int main() {
HKEY hk;

// Notice that it's SOFTWARE instead of \\SOFTWARE:
long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE"),
0,KEY_QUERY_VALUE, &hk );
if ( n == ERROR_SUCCESS ) {
cout << "OK" << endl;
}
else {
cout << "Failed with value " << n << endl;
}
}

关于c++ - RegOpenKeyEx 在 HKEY_LOCAL_MACHINE 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com