【发布时间】:2016-02-07 13:16:14
【问题描述】:
在我的 Qt5.5 应用程序中,我正在尝试写入
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
注册表项,使用 QSettings 在每个帐户上启用自动运行,但即使使用管理员权限我也无法做到这一点。你能告诉我我应该怎么做吗?如果我尝试将此代码与 HKCU 一起使用以启用对当前用户的自动运行,它正在工作。
QSettings bootUp("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
bootUp.setValue("/MyApp", "\"" + QDir::currentPath() + "/MyApp.exe\"" + " -a -u");
【问题讨论】:
-
请注意,更好的解决方案是在开始菜单的“启动”文件夹中添加应用程序的快捷方式。这可以为特定用户或所有用户完成。不理会注册表。
-
它是您正在运行的确切代码吗?您能否提供
HKCU的工作代码进行比较? -
@John_West 我只将 HKEY_CURRENT_USER 替换为 HKEY_LOCAL_MACHINE,并且没有显示新密钥。
-
@CodyGray 如何在当前用户和所有用户之间切换?我读过一些支持
true和false的AllUsers-setting,但在文档中找不到任何关于如何使用它的内容。 stackoverflow.com/questions/59510656/…