【Python修改所有可执行程序的图标】

孩子还小,不懂事写着玩的

警告:请谨慎使用。该程序会修改全系统所有可执行文件图标(其实就是注册表),在重新开机后生效

演示:

把应用程序图标改为记事本🗒
在这里插入图片描述

原理:

Windows 操作系统通过注册表来存储和管理各种系统配置和应用程序的相关信息。这段代码通过操作注册表中与 .exe 文件类型相关的键值,将默认的图标路径更改为指定的路径,从而实现更改所有 .exe 文件默认图标的效果。

需要注意的是,修改注册表可能会对系统产生不可预测的影响,并且在某些情况下可能违反系统的使用政策或导致系统不稳定。请谨慎操作,并确保您有足够的知识和权限来进行这样的修改。

import winreg
import ctypes
import sys

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

def set_exe_icon(icon_path):
    try:
        # 打开相关的注册表项
        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, icon_path)

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

# 示例:将记事本的图标作为默认图标
icon_path = r'C:\Windows\System32\notepad.exe,0'  # 指定记事本的图标路径

set_exe_icon(icon_path)

这段代码的功能是通过修改 Windows 注册表来设置所有 .exe 文件的默认图标。

代码解释:

以下是对代码的详细解释:

  1. import winregimport os:导入了用于操作 Windows 注册表的 winreg 模块和操作系统相关的 os 模块。

  2. set_exe_icon 函数:

    • winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, '.exe', 0, winreg.KEY_SET_VALUE):打开注册表中的 .exe 项,为后续的写入操作做准备。
    • winreg.SetValue(key, '', winreg.REG_SZ, 'exefile'):将 .exe 项的值设置为 exefile
    • winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, 'exefile\\DefaultIcon', 0, winreg.KEY_SET_VALUE):打开 exefile 下的 DefaultIcon 项。
    • winreg.SetValue(key, '', winreg.REG_SZ, icon_path):将 DefaultIcon 项的值设置为指定的图标路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值