news 2026/6/15 0:02:24

python 实现window开机自动启动程序和打开网站

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 实现window开机自动启动程序和打开网站

基于 tkinter 开发的程序 / 网址启动器(RunCat),支持可视化管理启动项、拖拽排序、延迟启动、开机自启、托盘常驻、日志记录等功能,兼容 Windows 系统,可打包为 exe 运行。

核心功能拆解

1. 路径兼容(适配 exe 打包)
  • exe_dir():获取程序运行目录(源码 / 打包后通用)
  • resource_path():读取打包资源(PyInstaller onefile/onedir 兼容)
  • data_path():持久化配置文件路径(固定到 exe 同目录)
2. 核心特性
功能实现方式
开机自启(Windows)通过修改注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
托盘常驻使用 pystray 实现,支持隐藏窗口 / 恢复窗口 / 启动全部 / 退出
启动项管理支持添加 / 删除 / 拖拽排序,配置持久化到 programs.json
多类型启动支持本地程序(exe / 脚本)和网址(自动调用浏览器)
精细化控制延迟启动、重试机制、启用 / 禁用、是否参与 “启动全部”
日志记录实时输出启动日志,包含耗时、状态(成功 / 失败)
3. 关键方法说明
  • launch_program():核心启动逻辑,区分文件 / 网址类型,处理延迟、重试
  • start_all():批量启动(仅启动 “启用 + 加入全部” 的项)
  • drag_sort:列表拖拽排序(通过 order 字段维护顺序)
  • load/save_data():配置文件的读写,兼容旧数据格式

优化 / 扩展建议

1. 功能增强
  • 批量操作:支持多选启动项,批量设置延迟 / 启用状态
  • 进程监控:增加启动后进程状态检测(是否存活)
  • 自定义浏览器:网址启动时允许选择默认浏览器
  • 环境变量支持:启动路径支持解析环境变量(如 %USERPROFILE%
  • 快捷键:添加常用操作快捷键(如回车启动选中、Del 删除)
2. 体验优化
  • 启动项分组:支持按分类管理启动项(如工作 / 娱乐)
  • 搜索过滤:列表添加搜索框,快速定位启动项
  • 图标显示:列表项显示程序 / 网址图标(提升辨识度)
  • 日志清理:添加日志清空 / 自动滚动 / 保存日志文件功能
  • 错误提示:启动失败时增加更详细的错误码 / 原因
3. 稳定性优化
# 示例:启动子进程时增加更多容错 def launch_program(self, cfg): # ... 原有逻辑 ... try: if ptype == "url": # 兼容不同浏览器调用方式 browsers = [webbrowser.get('windows-default'), webbrowser.get('chrome'), webbrowser.get('edge')] for browser in browsers: try: success = browser.open(path) if success: break except: continue else: # 增加启动参数/隐藏窗口(Windows) startupinfo = subprocess.STARTUPINFO() startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW proc = subprocess.Popen( path, cwd=os.path.dirname(path), startupinfo=startupinfo, creationflags=subprocess.CREATE_NEW_CONSOLE # 可选:新建控制台 ) # ... 原有逻辑 ...
4. 打包优化(PyInstaller)

推荐打包命令(需提前安装 pyinstaller):

pyinstaller -F -w -i 64-001.ico --add-data "64-001.ico;." --add-data "32-001.ico;." --add-data "programs.json;." tk.py
  • -F:单文件打包
  • -w:无控制台窗口
  • -i:设置 exe 图标
  • --add-data:打包资源文件(路径分隔符:Windows 用;,Linux/Mac 用:

常见问题解决

  1. 配置文件无法保存

    • 检查程序目录是否有写入权限(避免放在 C:\Program Files
    • 以管理员身份运行程序
  2. 托盘图标显示异常

    • 确保 32-001.ico 是 32x32 尺寸的图标文件
    • 替换为系统兼容的图标格式
  3. 网址无法启动

    • 检查系统默认浏览器是否配置正常
    • 手动指定浏览器路径(扩展功能)
  4. 开机自启不生效

    • 确认注册表项是否创建成功(可通过 regedit 查看)
    • 打包后的 exe 路径不要包含中文 / 空格

总结

该启动器具备完整的程序 / 网址管理能力,核心逻辑清晰,易于扩展。适合作为日常工作的快捷启动工具,可根据个人需求添加自定义功能(如定时启动、远程启动等)。

#!/usr/bin/env python # -*- coding: utf-8 -*- # # 文件名:tk.py # 作者:Administrator # 日期:2026/1/1 # 描述: import tkinter as tk from tkinter import ttk, filedialog, scrolledtext, messagebox, simpledialog import subprocess import threading import os import sys import json import time from datetime import datetime import platform # ========= 托盘 ========= import pystray from pystray import MenuItem as TrayItem from PIL import Image, ImageDraw import webbrowser # 添加 webbrowser 支持 # ================== 路径处理(兼容 exe / onefile / onedir) ================== def exe_d
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:17:22

YOLOFuseQQ群号码公布:技术支持即时响应

YOLOFuse:让多模态目标检测真正“开箱即用” 在智能安防、自动驾驶和夜间监控等现实场景中,光照变化、烟雾遮挡常常让传统可见光摄像头“失明”。即便最先进的YOLO模型,在黑暗或恶劣天气下也难免漏检、误报。有没有一种方法,能让…

作者头像 李华
网站建设 2026/6/10 19:38:59

Keil调试小白指南:初学者常犯错误及避坑建议

Keil调试避坑实录:新手常踩的“雷区”与实战排错指南在嵌入式开发的世界里,写代码只是第一步。真正考验功力的,是当你按下“Debug”按钮后——程序不跑、断点无效、变量看不了……这些看似诡异的问题,往往不是MCU出了问题&#xf…

作者头像 李华
网站建设 2026/6/15 18:01:00

手把手教你为金融系统添加审计型触发器

手把手教你为金融系统构建坚不可摧的审计防线:用数据库触发器实现自动留痕你有没有遇到过这样的场景?某天清晨,风控部门紧急来电:“一笔50万的交易余额被人为修改了,但应用日志里查不到操作记录。”开发团队连夜排查&a…

作者头像 李华
网站建设 2026/6/15 14:41:25

YOLOFuseAppen数据标注生态适配计划

YOLOFuse:重塑多模态目标检测的工程实践路径 在智能监控、自动驾驶和夜间安防等现实场景中,单一可见光摄像头常常“力不从心”——当夜幕降临、浓雾弥漫或遭遇强逆光时,传统基于RGB图像的目标检测系统性能急剧下滑。这不仅影响感知可靠性&…

作者头像 李华
网站建设 2026/6/15 16:03:04

YOLOFuseCDN加速节点部署:全球访问提速

YOLOFuseCDN加速节点部署:全球访问提速 在AI模型日益渗透安防、自动驾驶与夜间感知的今天,一个现实问题正困扰着全球开发者:如何让前沿的多模态检测能力真正“跑得起来”?不是理论上的mAP数字,而是实实在在地在东京的…

作者头像 李华
网站建设 2026/6/15 14:36:08

图解说明pymodbus请求响应流程

深入理解 pymodbus 请求-响应机制:从代码到工业通信实战在工业自动化现场,设备之间的“对话”往往不像我们想象中那样直接。一台PLC要读取某个传感器的数据,不能像调用API那样简单地发个HTTP请求——它得遵循一套古老但依然坚挺的协议规则。而…

作者头像 李华