问题记录 QT 开机自启动读取文件失败
  前一篇

相关项目:https://github.com/beiklive/PopupClock (opens new window) 一个小伙伴报出的这个问题。
检查后发现该QT程序通过注册表开机自启动的方式启动时,会无法读取配置文件,使用手动启动的方式可以正确读取文件。
查阅资料后得知
程序通过注册表设置为开机启动后,因为开机启动的指令其实也是CMD的指令,所以,如果我们在代码中使用以下代码获取程序路径,其实获取到的是CMD程序的运行路径,也就是C:\Windows\System32,所以找不到相对路径的文件。
解决方法:
- 使用绝对路径
 - 使用QT的获取程序路径的函数随后进行拼接即可
QString appPath = QApplication::applicationFilePath();1QString curPath = QCoreApplication::applicationDirPath(); QFile file(curPath + filePath);1
2 
编辑  (opens new window)
  上次更新: 2024/05/22, 14:11:38