Windows上的QT自动启动应用程序
我试图让我的应用程序启动一个用户登录到他或她的帐户 我当前的代码:Windows上的QT自动启动应用程序,qt,Qt,我试图让我的应用程序启动一个用户登录到他或她的帐户 我当前的代码: #ifdef Q_OS_WIN QSettings bootUpSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); QString base_dir = qApp->applicationDirPath() + "\\MyApp.exe
#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
当我在regedit中查看时,我可以看到我的应用程序已经添加了带值的键,但是由于某些原因,当我登录到Windows时,应用程序不会自动启动
有什么想法吗?您必须将应用程序可执行文件的路径放入 HKEY\U本地\U计算机\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 而不是钥匙。即:
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");
}
不确定是否需要引用路径,reg设置已经是一个字符串,不需要转义…由于某些原因,它不会在该位置添加密钥(在Windows 7上进行Im测试)。。测试你的update@user3490755,错误是什么?你能诊断它吗?只是因为某些原因不会被添加。如何使QSettings返回错误?它在Windows 10上不起作用,因为写入
HKEY_LOCAL_机器
需要管理员权限,将其更改为HKEY_CURRENT_用户
可以正常工作。