Qt之开机自启动
代码比较简单:
#define REG_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
void SettingDialog::setAutoStart(bool is_auto_start)
{
QString application_name = QApplication::applicationName();
QSettings *settings = new QSettings(REG_RUN, QSettings::NativeFormat);
if(is_auto_start)
{
QString application_path = QApplication::applicationFilePath();
settings->setValue(application_name, application_path.replace("/", "\\"));
}
else
{
settings->remove(application_name);
}
delete settings;
}
查看注册表:
(1)运行:regedit
(2)找到对应的路径REG_RUN
调用方法后:
(1)让程序拥有管理员权限
(2)设置电脑的UAC级别
关于(1),何为程序拥有管理员权限?即程序运行的时候不需要右键->以管理员权限运行就可默认以此权限运行。在VS2008以后,配置比较简单,工程右键->属性->链接器->清单文件->UAC执行级别
(requireAdministrator)即可。
关于(2),可参考
UAC及其设置来对UAC进行设置。