qt 在 Mac 中实现 开机自启和关闭

macOS-设置软件开机自动启动 (void)setLaunchAgents{ NSString* launchFolder = [NSString stringWithFormat:@"%@/Library/LaunchAgents",NSHomeDirectory()]; if (![[NSFileManager defaultManager] fileExistsAtPath:launchFolder]) { [[NSF... 阅读详情
//开启
bool StartupWithSystem(const std::string& strProgramName)
{
    QString qtoxPlist = QDir::cleanPath(QStandardPaths::writableLocation(QStandardPaths::HomeLocation) +
    QDir::separator() + "Library" + QDir::separator() + "LaunchAgents" + QDir::separator() + "net.my.app.plist");
    QString qtoxDir =  QDir::cleanPath(QCoreApplication::applicationFilePath());

    QSettings autoRun(qtoxPlist, QSettings::NativeFormat);
    autoRun.setValue("Label", "net.my.app.plist");
    //"net.my.app.plist" 此名字自已随意取的   
    autoRun.setValue("Program", qtoxDir);
    autoRun.setValue("WorkingDirectory", QDir::cleanPath(QCoreApplication::applicationDirPath()));
    autoRun.setValue("Disabled", false);
    autoRun.setValue("RunAtLoad", true);

    //startup_with_system(strProgramName, true);
    return true;
}
//关闭
bool RemoveStartupWithSystem(const std::string& strProgramName)
{
    //startup_with_system(strProgramName, false);
    QString qtoxPlist = QDir::cleanPath(QStandardPaths::writableLocation(QStandardPaths::HomeLocation) +
    QDir::separator() + "Library" + QDir::separator() + "LaunchAgents" + QDir::separator() + "net.weline.memenet.plist");
    qDebug()<<"qtoxplist  === "<<qtoxPlist;
    QString qtoxDir =  QDir::cleanPath(QCoreApplication::applicationFilePath());
    QSettings autoRun(qtoxPlist, QSettings::NativeFormat);
    autoRun.setValue("Label", "net.my.app.plist");
    autoRun.setValue("Program", qtoxDir);
    autoRun.setValue("WorkingDirectory", QDir::cleanPath(QCoreApplication::applicationDirPath()));
    autoRun.setValue("Disabled", false);
    autoRun.setValue("RunAtLoad", false);

    return true;
}
    ~/Library/LaunchAgents//当前用户下开机启动后启动下面的plist文件
    /Library/LaunchAgents
    /System/Library/LaunchAgents
以上三个目录为系统推荐放置的路径,是当登录之后启动的进程

    ~/Library/LaunchDaemons
    /Library/LaunchDaemons
    /System/Library/LaunchDaemons
放置在以上三个目录,则启动为守护进程,为系统启动后立即启动的进程


plist中主要的字段和它的含义
    Label 用来在launchd中的一个唯一标识,类似于每一个程序都有一个identifies一样。
    UserName 指定运行启动项的用户,只有当Launchd 作为 root 用户运行时,此项才适用。
    GroupName 指定运行启动项的组,只有当Launchd 作为 root 用户运行时,此项才适用。
    KeepAlive 这个key值是用来控制可执行文件是持续运行呢,还是满足具体条件之后再启动。默认值为            
    false,也就是说满足具体条件之后才启动。当设置值为ture时,表明无条件的开启可执行文件,并使之 
    保持在整个系统运行周期内。
    RunAtLoad 标识launchd在加载完该项服务之后立即启动路径指定的可执行文件。默认值为false。
    Program 这个值用来指定进程的可执行文件的路径。
    ProgramArguments 如果未指定Program时就必须指定该项,包括可执行文件文件和运行的参数。
    WorkingDirectory 工作目录

基于QT的安卓手机蓝牙APP开发 最近做项目,需要开发安卓应用,实现串口的收发,目测CH340G在安卓手机上非常麻烦,而且驱动都是Java版本的, 就没选择,博主在大二的时候学习过Java SE基本的语法,写过一些小程序就放弃了Java的道路。最后选择了蓝牙无线透传模块,实现串口通信。现在Qt跨平台支持安卓,是在是令人欣喜。在网上找资料,用Qt on Android做蓝牙驱动的几乎没有,也没有相关例程,所以准备撰写此文,献给广大嵌入式程序员们。 一、软硬件平台 1.1 硬件平台 1、蓝牙:HC-05,(淘宝上有卖),它的接口就是跟串口一样的 阅读详情

相关推荐

用QT实现Wake On Lan功能(附全部程序源码)

Wake On Lan也就是远程唤醒(远程开机),即通过一台PC向另一台已经关机但仍连接电源PC发送网络数据包,使其开机的功能,前提是两台PC同处一个局域网内,且被唤醒方的网卡支持网络唤醒功能(现在网卡基本上都支持啦)。原理:PC关闭后,网卡仍能获取电源,一直监听“magic” packet到来,这种数据包可以是IP、IPX或者其它什么,其中封装了特制的字节序列,一旦收到这种数据包,通过网卡与

蓝色的风 3956

MacOS软件开机自启

mac开机自启操作和linux有很大的差别,修改方法分为以下3类: 界面操作,增加开机自启 oc代码实现 appleScript脚本实现 我个人推荐使用脚本代码实现,最简单方便,步骤如下: 创建scpt文件,(scpt是appleScript的文件后缀),内容如下 do shell script "..." with administrator privileges …可以是linux shell语句,可以是shell文件,可以是appleScript语句,可以是appleScript文件, 2.

WenCoo的博客 1421

mac下安装带GUI的octave

octave是吴恩达强烈推荐的算法开发工具。在mac下安装的时候,图形界面费了好大劲儿,现在整理一下安装步骤。 1、安装xcode-select xcode-select --install 2、安装homebrew    curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/loca...

cardinalzbk的专栏 6975

Qt for Mac 设置软件开机自启动

在Qt程序中设置Mac软件的开机自启动,通过调用object-c代码来实现。 目前只测试过在非沙盒的环境下设置开机自启动,沙盒环境下没有测试过(设置方式不同,会比较复杂) 新建类,定义接口 void setAutoStart(QString appPath,bool isAutoStart); 类定义: 其中 appPath是软件当前的位置,调用方式: is

luoyayun361的专栏 2647

Qt 远程开关机 WakeOnLAN 重启

远程开机 1.准备工作: 1 BIOS设置(非常重要) 开机进入BIOS(一般都是按DEL,进入BIOS,接着把网络唤醒功能打开) 主要就是找到 WakeUpOnLAN 设置为Enable .WakeUp By PCI Card 设置为Enable F10 保存退出 重启之后再关机会发现关机之后网卡灯依然闪烁 (每个电脑网络唤醒功能设置地方不一样,要自己的去找) 2.看下自己电脑有没有 设置快速开启功能 (我用的windown10必须把勾去掉,不然开机没反应) 控制面板-系统...

yiyi6的专栏 2241

2024年物联网嵌入式最新QT使用RabbitMQ,大牛带你直击优秀开源框架灵魂

systemctl enable rabbitmq-server // 设置为开机启动rabbitmq-server服务。systemctl restart rabbitmq-server // 重启rabbitmq-server服务。systemctl start rabbitmq-server // 启动rabbitmq-server服务。systemctl stop rabbitmq-server // 停止rabbitmq-server服务。

2401_85012262的博客 1300

windows&mac QT程序开机启动

2、Mac OS开机启动,目前就看到一种方式在launchAgent目录下写plist文件。1、Windows做开机启动,非管理员权限程序写注册表的方式就可以了,

walk_way_slowly的博客 263

VMware17.5.0安装macOS13.7.8|Xcode15.0.1+Qt6.5.3开发环境搭建完整教程

本文详细介绍了在VMware虚拟机上安装MacOS系统的完整步骤:1. 准备工作:需VMware Workstation Pro 17.5.0、Unlocker解锁工具和MacOS镜像;2. 安装过程:通过Unlocker解锁MacOS选项,创建虚拟机并配置硬件参数,特别注意需修改.vmx文件防止闪退;3. 系统安装:包含磁盘格式化、系统安装和初始设置;4. 后续配置:安装VMware Tools实现剪贴板共享和窗口自适应,以及Xcode和Qt开发环境的安装配置。文章提供了详细的图文指引和常见问题解决方案。

x1649545783的博客 655

Qt在Win,Mac和Linux的开机自启设置

使用注册表来管理开机自启的应用程序。来管理开机自启的应用程序。

Lenn Louis' Scribe 1048

手把手教你用AppsFlyer SDK实现延迟深度链接(附Android/iOS代码示例)

本文详细介绍了如何使用AppsFlyer SDK实现延迟深度链接,提供Android和iOS双平台代码示例,帮助开发者解决跨平台精准跳转与用户归因问题。通过实战案例和高级场景分析,提升应用的用户转化率和广告投放效果。

sre5engineer的博客 701

WSL2 Ubuntu 22.04安装NVIDIA驱动避坑指南:从驱动版本选择到CUDA环境验证

本文详细介绍了在WSL2 Ubuntu 22.04中安装NVIDIA驱动和配置CUDA环境的完整流程,包括驱动版本选择、环境变量设置以及常见问题解决方案。通过本指南,用户可以避免常见的安装陷阱,确保GPU加速环境正确配置,适用于深度学习开发和CUDA编程。

weixin_28419039的博客 464

ZYNQ系列(九) ZYNQ开机的一些配置

ZYNQ系列(九) ZYNQ开机的一些配置 第一章 Petalinux创建工程 第二章 Petalinux-config配置说明 第三章 QSPI自启动工程 第四章 将文件打包进文件系统 第五章 将文件打包进文件系统 第六章 ZYNQ下使用CMAKE创建APP工程 第七章 ZYNQ下使用CMAKE创建QT工程 第八章 ZYNQ下使用BOA 第九章 ZYNQ开机的一些配置 文章目录ZYNQ系列(九) ZYNQ开机的一些配置前言一、编译BOA二、 BOA服务器配置三、 BOA服务器文件系统修改四、 编译min

qq_26849933的博客 1765

CLion与STM32CubeMX联调:JLink GDB Server高效调试指南

本文详细介绍了如何搭建并配置CLion、STM32CubeMX与JLink GDB Server联调的现代化STM32开发环境。通过一站式环境搭建、工程创建、核心调试配置及高级技巧(如RTT日志),该组合实现了高效的代码编辑、可视化配置与稳定调试,大幅提升嵌入式开发效率与体验。

web99的专栏 258

Qt/C++编写物联网管理平台29-跨平台

一、前言 Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的,据说现在还能跑在部分MCU单片机上,本来Qt的发家起步就是在linux系统上,嵌入式linux上应用比较多,只不过最近十年来,由于安卓的迅猛发展,逐步被蚕食了一些市场,还剩一些跑安卓卡爆了的配置很低的...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 2545

绕过ROS2!在RDK X5上直接用Python调用海康相机C++ SDK的避坑指南

本文详细介绍了在RDK X5上绕过ROS2,直接使用Python调用海康相机C++ SDK的轻量化方案。通过Cython构建Python绑定,提取海康相机SDK核心组件,实现高效图像采集。文章涵盖环境准备、Cython接口设计、编译系统配置及性能优化技巧,特别适合ARM64平台开发者。

weixin_33712987的博客 250

YOLOV8主干改进方法:C2f-Dual——DualConv轻量化双卷积设计(附改进代码)

DualConv是一种创新的卷积网络结构,旨在构建轻量级的深度神经网络。它通过结合3×3和1×1的卷积核处理相同的输入特征映射通道,优化了信息处理和特征提取。DualConv利用组卷积技术高效排列卷积滤波器,大大降低了计算成本和参数数量。

m0_74890428的博客 4701

QT使用RabbitMQ_qt rabbitmq

rabbitmqctl list_users // 列出当前系统的用户rabbitmqctl list_user_permissions [用户名] // 查看用户权限rabbitmqctl delete_user [用户名] // 删除用户rabbitmqctl change_password [用户名] [密码] // 修改用户密码rabbitmq-plugins enable rabbitmq_management // 开启web远程管理界面。

2301_82241942的博客 1068

第二十三章 Nest集成日志框架Winston

Winston是一个非常流行的Node.js日志框架,而Nest.js是一个基于Node.js的后端框架。修改 winston.module.ts 内容如下 添加 forRoot 方法,接收 winston 的 createLogger 方法的参数,返回动态模块的 providers、exports。这里用到了 printf 的 format 函数,它可以自定义打印的日志格式 且使用了chalk 加上了颜色,并且打印了 dayjs 格式化的时间。可以看到控制台打印了自定义的 logger 的自定义。

枫ゞ的博客 1069

QT使用RabbitMQ(2),手持4个大厂offer的我

rabbitmqctl list_users // 列出当前系统的用户rabbitmqctl list_user_permissions [用户名] // 查看用户权限rabbitmqctl delete_user [用户名] // 删除用户rabbitmqctl change_password [用户名] [密码] // 修改用户密码rabbitmq-plugins enable rabbitmq_management // 开启web远程管理界面。

2401_84166458的博客 571

YOLOv12改进入门篇 | 手把手讲解改进模块如何实现高效涨点,以SimAM注意力模块为例

本文记录的是。SimAM注意力模块通过优化能量函数来获得每个神经元的三维权重,而或增加计算复杂度。若是有轻量化需求的小伙伴,无参的注意力模块也许是一个不错的选择。

Limiiiing的博客 2910

利用 Python 爬虫进行舆情监测的实战方法

舆情监测是指对互联网上的公众舆论进行监测和分析的过程。它可以帮助企业和组织了解公众对其品牌、产品或服务的看法,以及市场竞争情况。通过舆情监测,企业可以及时发现潜在的问题和机会,从而做出相应的决策。通过本实战案例,我们了解了如何利用 Python 爬虫进行舆情监测的整个流程。从数据采集到数据分析,再到可视化展示,每一步都提供了详细的代码示例和注释。希望这些方法和技巧能够帮助你在实际工作中更好地进行舆情监测,从而为企业的决策提供有力的支持。wordcloud。

u014481728的博客 1054

Qt 远程开关机 WakeOnLAN 编辑MagicPacket

#### 阅读目录 * [1.远程开机原理 ](#1) * [2.远程关机原理](#2) * [3.代码实现](#3) 1. 远程开机原理 1.1 简述 电脑关机之后,BIOS继续给网卡供电,网卡等待接收一个数据包(MagicPacket),收到数据包之后唤醒,进入开机流程。 1.2 WakeOnLAN WakeOnLAN简称WOL,是一种电源管理功能。WakeOnLAN的实现,...

我是唐 7471

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

qt串口通信_Qt编写气体安全管理系统29-跨平台

一、前言Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的,据说现在还能跑在部分MCU单片机上,本来Qt的发家起步就是在linux系统上,嵌入式linux上应用比较多,只不过最近十年来,由于安卓的迅猛发展,逐步被蚕食了一些市场,还剩一些跑安卓卡爆了的配置很低的硬...

weixin_39923806的博客 524

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

长沙红胖子Qt·西安(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

长沙红胖子 Qt・西安,本人拥有省级科研团队从业背景,研发团队产出所有项目、产品方案和研发无分包、无外包、无AI代笔,长期深耕双一流体系高精尖技术配套研发。博客主动剥离复杂底层工况机理,专注沉淀高端、特种行业领域Qt工程化落地实战经验。所有内容均为个人梳理总结的通用性工程方法论,只输出可公开的普适技术思路。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 164万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Qt/C++编写物联网管理平台50-超强跨平台

跨平台的需求,除了是用户的需求外,也是为了适应日益增长的国产操作系统的发展的需要,当前国产操作系统发展的如火如荼,100%都是围绕linux系统展开,说的好听点就是站在巨人的肩膀上开发,不好听点就是换壳,当然也不乏有实力的厂商投入了大量的研发的人力物力来做这一块,也确确实实在此基础上做了很多人性化的东西,从底层做优化,提高安全性以及更适合国人使用习惯等。...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 3282

苹果双系统win10键盘灯不亮的解决方法(有效)

苹果双系统win10键盘灯不亮,第一排的音量、亮度、等快捷键也不管用,MAC键盘正常,在win10系统渐面键盘灯不亮!

2201_75992226的博客 7069
上一篇: Windows Qt中支持heic 图片显示
下一篇: qt windows 开机自启和关闭
__网瘾少年
博客等级 码龄11年 122粉丝 103原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值