【python实现修改所有可执行程序的图标】

news2024/9/27 9:30:51

实现效果:

图标在此

在这里插入图片描述

替换前:

在这里插入图片描述

吐槽:这原版看着也不像原版😃
在这里插入图片描述

替换后:

在这里插入图片描述
在这里插入图片描述

代码:

注:必须要.ico图标文件

import winreg
import ctypes
import sys
import os

# 使用管理员身份打开程序
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

def set_exe_icon():
    try:
        # 获取当前 Python 脚本的路径
        current_path = os.path.abspath(sys.argv[0])
        # 从路径中提取目录部分
        current_dir = os.path.dirname(current_path)
        # 构建图标文件的路径,假设图标文件在当前目录下的 mp4/favicon.ico
        sys_icon_path = os.path.join(current_dir, 'mp4/favicon.ico')

        # 打开相关的注册表项
        key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, '.exe', 0, winreg.KEY_SET_VALUE)
        winreg.SetValue(key, '', winreg.REG_SZ, 'exefile')

        key = winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, 'exefile\\DefaultIcon', 0, winreg.KEY_SET_VALUE)
        winreg.SetValue(key, '', winreg.REG_SZ, sys_icon_path)

        print("修改默认图标成功!")
    except Exception as e:
        print(f"修改默认图标失败:{str(e)}")

set_exe_icon()

代码解析:

以下是对这段程序的作用和原理的详细解析:

作用
这段程序的主要作用是尝试修改 Windows 系统中 .exe 文件的默认图标。

原理

  1. ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1):这行代码使用 ctypes 库以管理员身份运行当前的 Python 程序。这样做是因为修改注册表通常需要管理员权限。
  2. def set_exe_icon() 函数:这是定义的主要执行功能的函数。
    • current_path = os.path.abspath(sys.argv[0]):获取当前运行的 Python 脚本的绝对路径。
    • current_dir = os.path.dirname(current_path):从绝对路径中提取出目录部分。
    • sys_icon_path = os.path.join(current_dir, 'mp4/favicon.ico'):构建图标文件的完整路径,假设图标文件位于当前目录下的 mp4 文件夹中,文件名为 favicon.ico
    • 接下来,通过 winreg.OpenKey 打开注册表中的相关项:
      • 首先打开 .exe 对应的注册表项,并设置其值为 exefile
      • 然后打开 exefile\\DefaultIcon 注册表项,并将构建好的图标路径设置为其值。
    • 如果整个过程没有出现异常,就打印出“修改默认图标成功!”;如果出现异常,则打印出相应的错误信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2052887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3万多育儿宝典育儿网站ACCESS\EXCEL数据库

找了下以前弄到的一些育儿数据,发现小数据的《育儿宝典育儿知识大全ACCESS数据库》《结构漂亮的怀孕手册ACCESS数据库》、《结构漂亮的亲子宝典ACCESS数据库》,大的数据有《3万妈妈说育儿百科知识ACCESS数据库》而今天又弄到了一个3万多的育儿宝典网站&a…

ArcGIS Pro基础:状态栏显示栏的比例尺设置和经纬度位置

上图所示,界面下方最左侧是显示的比例尺,可以进行选择设置,也可以进行自定义设置 上图所示,可以手动录入比例尺,同时也可以对比例尺设置别名,比如【实验1】作为特定比例尺的标记 如上图所示,可以…

火语言RPA流程组件介绍--变量持久化及读取

变量持久化及读取 对于一些常用变量在下次或其他流程需要继续使用时,可以将内存中的变量持久化保存到该组件格式化的特定本地文件中,在下次或其他流程使用时从文件读取数据输出至下一个组件或变量,常用来保存难以初始化或者在流程中进行特定…

解决方案上新了丨趋动科技牵手谐云,联合打造支持算力池化的边缘计算解决方案

得益于近些年发展得如火如荼的云原生技术、尤其是作为云原生技术底座的容器云技术的高速发展和产业化落地,业界发现,将GPU等算力资源容器化、资源池化,可以将算力的管理能力拓展到整个数据中心。 作为国内为数不多掌握底层核心技术的容器云产…

SpringBoot响应式编程(4)Spring Security Reactive

一、概述 1.1应用安全 防止攻击: ○ DDos、CSRF、XSS、SQL注入... 控制权限 ○ 登录的用户能干什么。 ○ 用户登录系统以后要控制住用户的所有行为,防止越权; 传输加密 ○ https ○ X509 认证: ○ OAuth2.0 ○ JW…

【秋招笔试】8.15联想(前端卷)-(第二套)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

微软开源项目 Detours 详细介绍与使用实例分享

目录 1、Detours概述 2、Detours功能特性 3、Detours工作原理 4、Detours应用场景 5、Detours兼容性 6、Detours具体使用方法 7、Detours使用实例 - 使用Detours拦截系统库中的UnhandledExceptionFilter接口,实现对程序异常的拦截 C++软件异常排查从入门到精通系列教程…

ant design 的 tree 如何作为角色中的权限选择之二

还是接着上一节来 ant design 的 tree 如何作为角色中的权限选择之一 这里先放一下全部代码: import { useIntl } from umijs/max; import React, { Key, useState } from react; import { ProForm, ProFormText } from ant-design/pro-components; import { Form…

Python爬虫案例一:获取古诗文并按用户输入的作者名进行数据保存

前言: 1、什么是爬虫?也称为网页蜘蛛(Web Spider),通俗来说,解放人的双手, 去互联网获取数据, 以数据库, txt, excel, csv, pdf, 压缩文件, image, video, music保存数据。本质: 模拟浏览器, 向服务器发送…

【书生大模型实战】InternVL 微调实践闯关任务

一、关卡任务 基础任务 follow 教学文档和视频使用QLoRA进行微调模型,复现微调效果,并能成功讲出梗图.尝试使用LoRA,或调整xtuner的config,如LoRA rank,学习率。看模型Loss会如何变化,并记录调整后效果(选…

消防隐患在线小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,消防隐患举报管理,消防隐患分类管理,统计分类管理,处理结果管理,系统管理 微信端账号功能包括:系统首页,我…

vue+elmentui 定义狂拽黑金配色的按钮+消息框

1 修改效果 通过自定义样式的方式可以修改elmentui的配色,例如下面我们修改掉了button的primary配色为黑金色: 修改前: 修改后 修改了elementui 的$message(success类型)颜色为黑金色、图标也修改为金色了: 修改前…

WPF 手撸插件 三 插件文件热加载

1、在程序运行的同时将插件文件复制到指定的插件目录下,插件自动被加载。不废话了直接上代码吧。需要的可以帮我贡献点积分,谢谢各位大佬了。 示例文件下载https://download.csdn.net/download/xingchengaiwei/896388912、主要功能代码如下。注意初学者…

阿里云搜索专家实操:如何高效构建企业级 AI 搜索?

作者:来自阿里云搜索产品专家牛俊 本文由阿里云搜索产品专家牛俊在【AI 搜索 TechDay】上的分享【阿里云 AI 搜索 Demo 展示和动手实践】整理而成。 阿里云 AI 搜索的产品能力与业务价值 阿里云 AI 搜索的方案,基于阿里云 Elasticsearch Inference API…

什么是国债期货?怎么玩?

国债期货,也就是利率期货,是一种在交易所里买卖未来国债价格的金融工具。它允许投资者在今天定下价格,然后在将来的某个时间点进行交易。在中国,国债期货在金融期货交易所上市,有几种不同的期限,比如30年期…

CDGA|数据治理核心能力框架与数据治理体系规划

随着数字化转型的加速和大数据技术的广泛应用,数据已成为企业核心资产之一。如何高效、安全地管理和利用数据,成为企业提升竞争力和创新能力的重要课题。本文将从数据治理核心能力框架和数据治理体系规划两个方面进行探讨,以期为企业的数据治…

Controller中接收数组参数 post请求中在body中传+post请求中通过表单形式传(x-www-form-urlencoded)

1、场景 需要根据用户id集合批量删除用户数据,前端使用post请求,controller中参数接收数组参数并根据用户id删除用户基本信息 2、分析处理: 2.1、前端请求类型contentType:application/json 请求体中为json字符串,后端新建一个Us…

【GH】【EXCEL】bumblebee简介:GH↔EXCEL

文章目录 bumblebeeaddressComponentAnalysisAppCellChartingDataGraphicsRangeShapesWorkbooksWorksheets Sample: Accessing_ExcelExcel ApplicationWorkbookSave Workbook (Create)Get All Workbooks from AppGet Workbook by Name Get WorkbookGet Active Workbook from Ap…

python 阴暗图像 亮度增强 对比度增强 去雾

背景说明 最近在处理图像,发现一些样本由于逆光原因过于阴暗,影响图像识别。解决时,可以在训练样本中加入类似的图像,或者手动把相关图像进行颜色变化。这里主要介绍手工颜色变化。 原始图像如下,假设你需要判断裤子…

使用 Elasticsearch-DSL Python 客户端简化向量嵌入

作者:来自 Elastic Miguel Grinberg 在本文中,我们将介绍 Python 版 Elasticsearch-DSL 客户端,重点介绍它如何简化构建向量搜索解决方案的任务。 本文附带的代码实现了一个名言数据库。它包括一个使用 FastAPI Web 框架用 Python 编写的后端…