windows写注册表设置程序自启动的方式是一致的:
在注册表"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"位置添加键值对,程序名做key,值为exe程序完整路径,下面以QT获取程序名和路径,写入注册码为例:
#define REG_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
QString application_name = QApplication::applicationName(); //获取程序名做key
QSettings *settings = new QSettings(REG_RUN, QSettings::NativeFormat); //QT写注册表
if (autoStart) //写入还是删除
{
QString application_path = QApplication::applicationFilePath(); //获取路径做value
settings->setValue(application_name, application_path.replace("/", "\\"));//写入注册表
}
else
{
settings->remove(application_name); //删除注册表该自启动项
}
delete settings;