查看完整版本: [-- 程序开机自启动执行结果 与 双击运行执行结果 不一样 --]

QTCN开发网 -> 其它技术开发讨论区 -> 程序开机自启动执行结果 与 双击运行执行结果 不一样 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

test4fun 2018-06-28 14:26

程序开机自启动执行结果 与 双击运行执行结果 不一样

开发环境  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 2018-07-03 17:32
与用户有关系吗?

sgjing 2020-07-29 14:14
    

汉阳青川 2020-08-03 15:14
autoRun.dat文件用绝对路径


查看完整版本: [-- 程序开机自启动执行结果 与 双击运行执行结果 不一样 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled