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-07
目录

QT 代码片段

obsidian link

02.QT Git Action

# 开机自启动

# 宏定义

#define AUTO_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
    ```
    
### 设置自启动和关闭自启动

```cpp
void PopupClock::SetAutoStart(bool flag) {
	QSettings settings(AUTO_RUN, QSettings::NativeFormat);

	//以程序名称作为注册表中的键,根据键获取对应的值(程序路径)
	QFileInfo fInfo(QApplication::applicationFilePath());
	QString name = fInfo.baseName();    //键-名称

	//如果注册表中的路径和当前程序路径不一样,则表示没有设置自启动或本自启动程序已经更换了路径
	QString oldPath = settings.value(name).toString(); //获取目前的值-绝对路经
	QString newPath = QDir::toNativeSeparators(QApplication::applicationFilePath());    //toNativeSeparators函数将"/"替换为"\"
	if (flag)
	{
		if (oldPath != newPath)
			settings.setValue(name, newPath);
	}
	else {
		settings.remove(name);
	}
	m_pActionAutoStart->setChecked(checkAutoStart());
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 检查是否有自启动

bool PopupClock::checkAutoStart() {
	QSettings settings(AUTO_RUN, QSettings::NativeFormat);
	QFileInfo fInfo(QApplication::applicationFilePath());
	QString name = fInfo.baseName();
	QString oldPath = settings.value(name).toString();
	QString newPath = QDir::toNativeSeparators(QApplication::applicationFilePath());
	return (settings.contains(name) && newPath == oldPath);
}
    ```

1
2
3
4
5
6
7
8
9
10
编辑 (opens new window)
#qt
上次更新: 2024/05/09, 12:51:17
QT Git Action
问题记录 QT 开机自启动读取文件失败

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

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