1、首先将自己的项目打包成exe可执行文件
本文是把python项目打包成一个exe文件,可以选择pyinstaller工具对项目进行打包
2、将打包好的exe文件作为开机自启动项运行
一开始我的尝试如下:
在CMD命令行中,使用命令shell:common startup
,进入到如下目录:
我们可以创建一个要自启动的exe文件的快捷方式,然后拖入到上面的这个路径下即可实现自启动。
3、守护自启动的进程
我发现我的程序和其他的程序在启动时存在冲突,导致我们的自启动exe进程被kill掉,为了不让我的程序被挤掉,使用bat进程守护的办法。
步骤如下:
1)新建两个txt文件,分别命名为protect.bat和noshow.vbs,具体命名根据自己,
在.bat文件里添加如下代码
@echo off
:run
title sanxingtest
:: 当前路径
set strPath=%~dp0
:: 带绝对路径的文件名
set strFile=%strPath%%date:~0,4%%date:~5,2%%date:~8,2%.log
:: 下面是检查进程是否存在,不存在启动当前路径下的脚本文件1.bat
tasklist|find /i "def.exe"
if %errorlevel%==0 (
echo 进程已存在
) else (
echo 进程不存在,启动
start /d"C:/Users/Desktop/abc" def.exe
)
:: 定时10秒
choice /t 10 /d y /n >nul
goto run
在.vbs文件里添加如下:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "protect.bat",0
notes:主要是要修改一下.bat文件中的tasklist|find /i "def.exe"
,def改成自己的进程名,start /d"C:/Users/Desktop/abc" def.exe
中的路径。ws.Run "protect.bat",0
中的.bat文件的路径。
2)把上面的两个文件放入到开机自启动的目录下面去,其实自启动目录下可以只放.vbs文件,其他的文件只要在notes中的位置把路径设置正确,就可以不用快捷方式和.bat文件。
我查看了一些相关文章在我套用时存在一个问题是,我的exe进程不能被检测到,所以就导致批处理文件不停的启动我的exe文件,我的解决办法是修改tasklist|find /i "def.exe"
为tasklist|find /i "def"
。