尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

python 实现window开机自动启动程序和打开网站
📅 发布时间:2026/6/20 5:38:32

基于 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

相关新闻

  • 导师推荐!MBA必备AI论文网站TOP9:开题报告文献综述全测评
  • 2025年终老房改造家居家电商场推荐:聚焦局改案例的5强口碑排名深度解析。 - 品牌推荐
  • SpringBoot整合Elasticsearch:系统学习第一步

最新新闻

  • 终极指南:跨平台获取macOS系统镜像的完整解决方案
  • 深入解析MC68HC908AS32A SPI模块:从寄存器配置到中断与错误处理实战
  • CANN/ops-math Mod取模算子
  • TheRouter实战指南:从基础配置到高级功能解析
  • Flux脚本语言开发指南:从入门到精通的完整学习路径
  • XXPermissions:Android权限管理的终极解决方案与实战指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号