beiklive's blog beiklive's blog
首页
  • 语言学习

    • C/C++
    • Python
    • Qt
  • 系统&引擎

    • Linux
    • Godot
  • 啥都学

    • 夏姬八学
    • 好好学习
  • 折腾记录

    • 树莓派
    • Obsidian
    • 实践记录
  • 技术文档
  • 工具网站
  • Github项目
  • 友情链接
  • 关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

beiklive

全沾艺人
首页
  • 语言学习

    • C/C++
    • Python
    • Qt
  • 系统&引擎

    • Linux
    • Godot
  • 啥都学

    • 夏姬八学
    • 好好学习
  • 折腾记录

    • 树莓派
    • Obsidian
    • 实践记录
  • 技术文档
  • 工具网站
  • Github项目
  • 友情链接
  • 关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • QT安装
  • QT Git Action
  • QT 代码片段
  • 问题记录 QT 开机自启动读取文件失败
  • Note_Qt
beiklive
2024-05-15

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

前一篇

QT 代码片段

image.png

相关项目:https://github.com/beiklive/PopupClock (opens new window) 一个小伙伴报出的这个问题。


检查后发现该QT程序通过注册表开机自启动的方式启动时,会无法读取配置文件,使用手动启动的方式可以正确读取文件。

查阅资料后得知 程序通过注册表设置为开机启动后,因为开机启动的指令其实也是CMD的指令,所以,如果我们在代码中使用以下代码获取程序路径,其实获取到的是CMD程序的运行路径,也就是C:\Windows\System32,所以找不到相对路径的文件。

解决方法:

  1. 使用绝对路径
  2. 使用QT的获取程序路径的函数
    QString appPath = QApplication::applicationFilePath();  
    
    1
    随后进行拼接即可
    QString curPath = QCoreApplication::applicationDirPath();
    QFile file(curPath + filePath);
    
    1
    2
编辑 (opens new window)
#qt#问题记录
上次更新: 2024/05/22, 14:11:38
QT 代码片段

← QT 代码片段

最近更新
01
爬虫技术与法律风险:个人开发者的注意事项
05-22
02
个人开发者的抉择:个人工作室 vs 公司主体 🤔
05-22
03
《计算机网络,自顶向下方法》笔记(一)
05-20
更多文章>
Theme by Vdoing | Copyright © 2024-2024 beiklive | 苏ICP备20038092号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式