QT 开机启动

因为开机启动时的当前工作路径为 system32文件

 

配置文件最好使用绝对路径保存

 

QString strIniPath = QCoreApplication::applicationDirPath() + "/config.ini";

 

qDebug()<<"ini file:"<<strIniPath;

 

if(read_file.LoadFile(strIniPath.toStdString().c_str()))

//
/// \brief Widget::appAutoRun
/// \param bAutoRun
///
/// window下开机启动最简单的实现方式就是在注册表中添加启动项目 添加位置有两个
/// HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
/// HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
/// 第一个为全局自动启动项,所有用户登陆后都自动启动。第二个为当前用户启动项、切换到其他用户就失效了
/// win7以后权限管理越来越严格,非管理员权限运行的程序是无法写入到HKEY_LOCAL_MACHINE下的,推荐添加启动项到当前用户

#include <QSettings>
#include <QDir>
#include <QDebug>
void Widget::appAutoRun(bool bAutoRun)
{
    //HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    QSettings  reg("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat);

    if (bAutoRun)
    {
        QString strAppPath=QDir::toNativeSeparators(QCoreApplication::applicationFilePath());

        qDebug()<<"path==="<<strAppPath;

        //strAppPath.replace(QChar('/'),QChar('\\'),Qt::CaseInsensitive);
        reg.setValue("wirtepad",strAppPath);
    }
    else
    {
        reg.setValue("wirtepad","");
    }

}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值