不同软件中设置开机自启动的方法

一、Windows下开机自启动

自启动主要就是修改注册表启动项“HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,设置开机自启动后可以在任务管理器->启动界面看见自启动软件
任务管理器启动项

MFC中设置开机自启动

	bool m_autoStart;//true为开机自启动,false为关闭开机自启动
	HKEY hKey;
    //找到系统的启动项  
	CString strRegPath = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
	if (m_autoStart)
	{
		if (RegOpenKeyEx(HKEY_CURRENT_USER, strRegPath, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) //打开启动项       
		{
			TCHAR szModule[MAX_PATH];
			GetModuleFileName(NULL, szModule, MAX_PATH);//得到本程序自身的全路径  
			RegSetValueEx(hKey, _T("Demo"), 0, REG_SZ, (LPBYTE)szModule, (lstrlen(szModule) + 1)*sizeof(TCHAR));
			//添加一个子Key,并设置值,"Demo"是应用程序名字(不加后缀.exe)  
			RegCloseKey(hKey); //关闭注册表  
		}
		else
		{
			AfxMessageBox(_T("系统参数错误,不能随系统启动"));
		}
	}
	else
	{
		if (RegOpenKeyEx(HKEY_CURRENT_USER, strRegPath, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
		{
			RegDeleteValue(hKey, _T("Demo"));
			RegCloseKey(hKey);
		}
	}

QT设置程序开机自启动

//.h文件
#define AUTO_RUN "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"
public:
    //设置开机自启动
    void SetMyAppAutoRun(bool isstart);
//.cpp文件
void Widget::SetMyAppAutoRun(bool isstart)
{
    QString application_name = QApplication::applicationName();//获取应用名称

    QSettings *settings = new QSettings(AUTO_RUN, QSettings::NativeFormat);//创建QSetting, 需要添加QSetting头文件

    if(isstart){

        QString application_path = QApplication::applicationFilePath();//找到应用的目录

        settings->setValue(application_name, application_path.replace("/", "\\"));//写入注册表
    }

    else settings->remove(application_name);
}

QT设置软件崩溃自启动

main.cpp改为下面的代码

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
    int ret = -1;
    do
    {
        Widget w;
        w.show();
        ret = a.exec();
    }while(ret != 0||ret==EXIT_RESTRAT);//正常退出返回0
    return ret;
}

.h文件中

#define EXIT_RESTRAT -1000
void Widget::ExitRestart()

.cpp文件中

void Widget::ExitRestart()
{
    qApp->exit(EXIT_RESTRAT);//包含QApplication头文件就有qApp
}

二、Ubuntu 程序自启动步骤

1 打开终端,输入gnome-session-properties,打开如下界面:
在这里插入图片描述
2 点击Add
Name 和Comment随便写,Command按如下格式写:

gnome-terminal -x /home/whp/Desktop/All_program.sh

(系统每次启动时会启动桌面上的All_program.sh程序)

3 All_program.sh格式见附件,链接:
https://download.csdn.net/download/qq_43309940/18420841

4 注意事项:
使用python进行串口读写时,使用sudo python ***.py后,会要求输入密码,按如下操作取消密码:
sudo gedit /etc/sudoers
按下图方式增加两个NOPASSWD
在这里插入图片描述

参考博文:https://www.cnblogs.com/nanqiang/p/11014370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值