问题记录 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