微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 TRegistry 在 HKLM 中写入/更新密钥

如何解决无法使用 TRegistry 在 HKLM 中写入/更新密钥

我正在尝试使用 TRegistry 在 HKLM 中写入/更新值,但是当我使用 OpenKey() 打开注册表时从未成功(它总是返回 false)。

我的应用程序是 32 位的。我用 C++Builder 10.3 编写代码。我的操作系统是 Windows 10。

这是我的代码

BOOL bIsWow64 = FALSE;
BOOL result=FALSE;
IsWow64Process(GetCurrentProcess(),&bIsWow64);
long flags = KEY_WRITE;
if (bIsWow64) flags |= KEY_WOW64_64KEY;
TRegistry *sfReg = new TRegistry(flags);
sfReg->RootKey = HKEY_LOCAL_MACHINE;
UnicodeString mykey="software\\MyName\\MyAppName\\";
sfReg->Access=flags;
result=sfReg->OpenKey(mykey,true);
if(result)
{
    if(MainForm->usermode==USER_TEACHER)
    {
        sfReg->WriteString("tPswd",Edit2->Text);
    }
    else
    {
        sfReg->WriteString("fPswd",Edit2->Text);
    }
}
delete sfReg;
p->CommaText=MainForm->pLang->Strings[LANG_START+134];
MessageDlg(p->Strings[1],mtinformation,TMsgDlgButtons() << mbOK,0);
Close();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。