私の簡略化されたコード:
HKEY hKey;
if(someCondition)
lRes = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_READ, &hKey);
else
lRes = RegOpenKeyExW(HKEY_LOCAL_MACHINE, "SOFTWARW\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_READ, &hKey);
if(lRes == ERROR_SUCCESS)
{
std::wstring strKeyValue;
lRes = GetStringRegKey(hKey, L"valueName", strKeyValue, L"bad");
if(lRes == ERROR_SUCCESS)
{
//doSomething
}
}
両方ともRegOpenKeyExW()
戻りERROR_SUCCESS
ますが、1つの場合(から読み取るWow6432Node
)はをGetStringRegKey()
返しERROR_SUCCESS
、初期化しstrKeyValue
、他の場合はを返しますERROR_FILE_NOT_FOUND
。すべてのパスと値の名前は正しいです。エントリは手動でレジストリに追加されました。
何が問題ですか?クレデンシャルの問題はありますか?ありがとう!