我试图让我的应用程序启动一个用户登录到他或她的帐户。
我目前的代码:
#ifdef Q_OS_WIN
QSettings bootUpSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
QString base_dir = qApp->applicationDirPath() + "\\MyApp.exe";
if (autoStartChecked == "true") {
bootUpSettings.setValue("MyApp","\""+base_dir+"\"");
} else {
bootUpSettings.remove("MyApp");
}
#endif
当我查看注册表时,我可以看到我的应用程序添加了有价值的键,但由于某种原因,当我登录Windows时,应用程序不会自动启动。
有什么想法吗?
答案 0 :(得分:1)
您必须将应用程序可执行文件的路径放入
而是HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \运行
键。即:
QSettings bootUpSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
QString app_path = QCoreApplication::applicationFilePath();
if (autoStartChecked == "true") {
bootUpSettings.setValue("MyApp", app_path);
} else {
bootUpSettings.remove("MyApp");
}