繁体   English   中英

Qt如何写HKLM

[英]Qt how to write to HKLM

在我的Qt5.5应用中,我试图写

HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows \\ CurrentVersion \\ Run

注册表项,以使用QSettings在每个帐户上启用自动运行,但是即使使用Administrator Priviliges,我也无法做到这一点。 您能告诉我该怎么做吗? 如果我尝试将此代码与HKCU结合使用以对当前用户启用自动运行功能,则它可以正常工作。

QSettings bootUp("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
bootUp.setValue("/MyApp", "\"" + QDir::currentPath() + "/MyApp.exe\"" + " -a -u");

让您感到困惑的是,您有一个在64位Windows上运行的32位进程,并且正在写入由注册表重定向器重定向的部分注册表 所以

HKLM\Software

重定向到

HKLM\Software\Wow6432Node

您将在此处找到条目。 这没什么好担心的。 系统将在启动时从32和64个视图中读取密钥。

请记住,如果您的代码未能写入注册表,那么它将引发异常。

简而言之,您的代码有效,您只是在注册表编辑器中的错误位置查找。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM