• 997阅读
  • 3回复

[提问]程序开机自启动执行结果 与 双击运行执行结果 不一样 [复制链接]

上一主题 下一主题
离线test4fun
 

只看楼主 倒序阅读 楼主  发表于: 2018-06-28
开发环境  win10  qt 5  ,程序测试运行环境  win7 x64
注册表写入 HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 设置软件开机自启动
开机自启动执行结果  与   手动双击执行结果不一样?? 怎么破?

简单的功能是 读取一个文件autoRun.dat的内容
若为1则返回true  若为0则返回false

代码如下

//检测是否运行软件自动执行检测过程
bool autoDetect(void){        
   QString autoRunFileName=  QString("autoRun.dat");        //读配置文件 如果autoRun.dat内容为1 进行下一步操作        
   QFilefile(autoRunFileName);        
  if(!file.open(QFile::ReadOnly|QFile::Text))            
           qDebug() <<"can not open file";        
   QTextStream in(&file);        
   QString contents = in.readAll();        
   qDebug() << "contents=" << contents;        
   file.close();        
    bool ok;        
    int autoRunFlag = contents.toInt(&ok, 10);       // dec == 0, ok == false        
    qDebug() <<  "autoRunFlag=" << autoRunFlag;      
     if(1==autoRunFlag)        
     {            return true;        }
   else{            return false;        }

    return false;
}


autoRun.dat中内容为1的情况下


结果 自启动读出的内容为空  返回0
而双击启动时返回正常   返回1,
请问是什么原因?该如何解决呢?
离线XChinux

只看该作者 1楼 发表于: 2018-07-03
与用户有关系吗?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sgjing

只看该作者 2楼 发表于: 07-29
    
离线汉阳青川

只看该作者 3楼 发表于: 08-03
autoRun.dat文件用绝对路径
快速回复
限100 字节
 
上一个 下一个