设置Qt程序开机自启动(windows版本)
前言
本文展示在windows环境下,通过代码实现更改系统注册表的方式来实现程序的开机自动启动。
一、注册表
需要更改的系统注册表为: HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
二、代码演示
1.头文件
头文件autorun.h
#ifndef AUTORUN_H
#define AUTORUN_H
void autoRun();
#endif // AUTORUN_H
2.实现文件
cpp文件autorun.cpp
代码如下(示例):
#include "autorun.h"#include <QDir>
#include <QSettings>
#include <QtWidgets>//设置程序自启动 appPath程序路径
#define AUTO_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"
//#define AUTO_RUN "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
void setProcessAutoRunSelf(bool isstart)
{//注册表路径需要使用双反斜杠,如果是32位系统,要使用QSettings::Registry32Format;64位系统 QSettings::Registry64FormatQSettings *settings = new QSettings(AUTO_RUN, QSettings::NativeFormat);//以程序名称作为注册表中的键//根据键获取对应的值(程序路径)QString application_name = QApplication::applicationName();//获取应用名称QString path = settings->value(application_name).toString();//如果注册表中的路径和当前程序路径不一样,//则表示没有设置自启动或自启动程序已经更换了路径//toNativeSeparators的意思是将"/"替换为"\"if(isstart){QString appPath = QApplication::applicationFilePath();//找到应用的目录QString newPath = QDir::toNativeSeparators(appPath);if (path != newPath){settings->setValue(application_name, newPath);}}else settings->remove(application_name);
}void autoRun()
{setProcessAutoRunSelf(true);
}
3.程序调用
#include "mainwindow.h"
#include "autorun.h" //开机自动运行
#include <QApplication>
#include <QMessageBox>int main(int argc, char *argv[])
{Q_INIT_RESOURCE(qss);//样式表QApplication a(argc, argv);autoRun();//设置开机自动运行MainWindow w;w.show();return a.exec();
}
总结
提示:如上便实现了程序开机自启动,在程序第一次运行的时候,会被360之类的安全工具拦截,询问系统更改的权限,请给予绿灯通行.
若后续想取消程序的开机自启动,可以在注册表中删除对应的项目即可。
相关文章:
设置Qt程序开机自启动(windows版本)
前言 本文展示在windows环境下,通过代码实现更改系统注册表的方式来实现程序的开机自动启动。 一、注册表 需要更改的系统注册表为: HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run 二、代码演示 1.头文件 头文件autorun.h #ifndef …...
【HarmonyOS】鸿蒙获取appIdentifier,Identifier
【HarmonyOS】鸿蒙获取appIdentifier,Identifier 一、前言 三方后台需要填写的所谓appIdentifier,Identifier信息,其实对应鸿蒙应用的appID。 二、解决方案: 注意,模拟器获取data.signatureInfo.appIndentifer为空…...
【Rust自学】3.5. 控制流:if else
3.5.0. 写在正文之前 欢迎来到Rust自学的第三章,一共有6个小节,分别是: 变量与可变性数据类型:标量类型数据类型:复合类型函数和注释控制流:if else(本文)控制流:循环 通过第二章…...
美国信息学奥林匹克竞赛USACO 2024年12月比赛铜级问题1. 循环舍入-答案代码
题目见: USACO 2024年12月比赛铜级问题1. 循环舍入(USACO 2024 December Contest, Bronze Problem 1. Roundabount Rounding) 最简单的青铜级 亲测所有得分点通过哈! 下一篇会给解题分析哦! #include <iostream> using namespace std;…...
Llama3模型详解 - Meta最新开源大模型全面解析
📚 Meta最新发布的Llama3模型在开源社区引起广泛关注。本文将全面解析Llama3的技术特点、部署要求和应用场景。 一、模型概述 1. 基本信息 发布机构: Meta AI开源协议: Llama 2 Community License Agreement模型规格: 7B/13B/34B/70B训练数据: 2万亿tokens上下文长…...
2021-02-12 c++里面cin.sync()函数的意思
回复急~救救菜鸡吧,C用cin.clear()和cin.sycn()清空缓存区一直清不了!_编程语言-CSDN问答 标识符号为:goodbit 无错误 Eofbit 已到达文件尾 failbit 非致命的输入/输出错误可挽回 badbit 致命的输入/输出错误无法挽回 int a 0;cin >> a;if (cin.rdstate() i…...
下载红米Note 9 Pro5G对应的LineageOS代码下载及编译
构建 LineageOS 进入网站:Info about gauguin | LineageOS Wiki,点击:Build for yourself,里面有详细的教程,我这里就按照Note 9 Pro 5G来。 机器环境 Ubuntu环境为:20.04.6LinagesOS版本:21-…...
《探索 Caffe2 的 C++接口在移动设备上的性能优化之路》
在当今移动应用日益智能化的时代,将深度学习框架如 Caffe2 的 C接口应用于移动设备上已成为众多开发者的目标。然而,移动设备资源相对有限,如何优化其性能成为了关键挑战。 一、移动设备应用深度学习的现状与挑战 随着智能手机等移动设备的…...
1.编写一个程序,给定一个大写字母,要求用小写输出
思路:ascII码值 例如:A的ASCII码值为65,a的ASCII码值为97,不难发现,大小写字母之间的ascii值相差了32 #include <stdio.h> int main() {char c;scanf("%c",&c);printf("%c",c32);retu…...
条件随机场(CRF)详解:原理、算法与实现(深入浅出)
目录 1. 引言2. 什么是条件随机场?2.1 直观理解2.2 形式化定义 3. CRF的核心要素3.1 特征函数3.2 参数学习 4. 实战案例:命名实体识别5. CRF vs HMM6. CRF的优化与改进6.1 特征选择6.2 正则化 7. 总结与展望参考资料 1. 引言 条件随机场(Conditional Ra…...
Android Studio、JDK、AGP、Gradle、kotlin-gradle-plugin 兼容性问题
文章目录 问题:解决办法:gradle与 java的版本兼容AGP与Gradle的版本兼容kotlin 与 jvm 的版本兼容KGP、Gradle、AGP兼容关系kotlin 与 java 的编译版本配置 问题: 你从githb上clone了一个项目,本地跑的时候,各种报错。…...
防抖(Debounce)和节流(Throttle)的区别和应用场景
防抖(Debounce)和节流(Throttle)虽然都是用来限制函数的执行频率,但它们的实现方式和应用场景有所不同。以下是两者的主要区别: 1. 执行原理 防抖(Debounce): 执行条件&a…...
前端 Code Review 常见问题
在前端开发中,代码审查(Code Review)是一个至关重要的步骤。它不仅可以帮助团队成员之间共享知识和经验,还可以提高代码质量,减少错误和安全漏洞。以下是一些常见的前端 Code Review 问题和相应的解决方案。 1. 不一致…...
Python监控AWS ECS集群和服务的CPU和内存利用率
在电子商务或其他行业,重要节日通常会带来大量的流量和订单,这对应用程序的资源利用率提出了更高的要求。为了确保应用程序在节日期间能够顺利运行,提前监控和优化资源利用率至关重要。 在本文中,我们将介绍如何使用Python编写一个脚本,从AWS CloudWatch中获取ECS集群和服务的…...
淘宝天猫API接口深度解析:如何高效利用商品详情与关键词搜索商品列表功能
在电子商务的浩瀚海洋中,淘宝和天猫作为两大巨头,其平台上的商品信息无疑是商家和消费者关注的焦点。为了更高效地获取这些信息,淘宝天猫开放平台提供了丰富的API接口,其中商品详情接口和关键词搜索商品列表接口尤为关键。本文将深…...
python快速接入阿里云百炼大模型
1.注册阿里云账号 访问阿里云官网,完成账号注册流程,并开通百炼服务,网址:https://bailian.console.aliyun.com 2.获取 API Key 登录阿里云百炼平台,在个人中心或相关设置页面找到并生成 API Key,妥善保管此…...
基于AI对话生成剧情AVG游戏
游戏开发这个领域,一直有较高的学习门槛。作为一个非专业的游戏爱好者,如果想要开发游戏,往往受制于游戏引擎的专业程度,难以完成复杂的游戏项目。 AI IDE的诞生,提供了另外的一种思路,即通过AI 生成项目及…...
[flutter] 安卓编译配置
Maven 镜像 android/build.gradle buildscript {ext.kotlin_version 1.7.10repositories {google() // mavenCentral()maven { url https://maven.aliyun.com/repository/google }maven { url https://maven.aliyun.com/repository/jcenter }maven { url https://mav…...
使用ENSP实现NAT(2)
一、NAT的类型 二、静态NAT 1.项目拓扑 2.项目实现 路由器AR1配置: 进入系统视图 sys将路由器命名为AR1 sysname AR1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为192.168.10.254/24 ip address 192.168.10.254 24进…...
解决小程序中ios可以正常滚动,而Android失效问题
解决小程序中 iOS 可以正常滚动,而 Android 失效问题 在开发小程序时,我们经常会遇到一些平台兼容性问题。最近,我在开发一个小程序时遇到了一个问题:在 iOS 设备上可以正常滚动加载更多数据,而在 Android 设备上却无…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
