正在将字符串添加到注册表路径regopenkeyex

Adding string to registry path regopenkeyex

本文关键字:注册表 路径 regopenkeyex 添加 字符串      更新时间:2023-10-16

嘿,假设这是代码:

HKEY hk;
long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE\",
                  0,KEY_QUERY_VALUE | KEY_WOW64_64KEY, &hk );
if ( n == ERROR_SUCCESS ) {
    cout << "Found ! " << endl;
}
else {
    cout << "Failed with value " << n << endl;
}
RegCloseKey(hk);

所以我有一个变量字符串,我需要添加到可能看起来像这样的路径:

 string s = "test";

如何将L"SOFTWARE\\"+s作为路径?

感谢

我想你试过了:

long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\" + s, ... );

这可能会给你一个编译器警告。由于您需要在路径中添加一个变量字符串,因此可以使用:

const std::string sFullPath = "SOFTWARE\" + s;
long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sFullPath.c_str(), 0, KEY_QUERY_VALUE | KEY_WOW64_64KEY, &hk);

这是因为RegOpenKeyExconst char*作为其参数。