OttoLi 的胡言乱语

  • 账户
    • 登录
    • 注册
    • 个人中心
head

如何自定义Win32程序的应用磁贴

2020年3月2日 4437点热度 3人点赞 2条评论

引子

相比 uwp 应用,Win32 应用在“开始”菜单中显得很丑,尤其是某些拟物设计风格的图标,强行配上扁平化的磁贴,显得格格不入。而且,所有 Win32 应用磁贴的背景色都是固定的,不能根据图标配色进行适配,也很丑

但是,仔细观察后发现,有些 Win32 应用竟然和 uwp 应用一样拥有漂亮的磁贴。比如:

当然,你可以说说微软家的应用是亲儿子,亲儿子有特别优待。但是,Mathematica 和 Origin 也有“客制化”磁贴,这又怎么解释:

而且,值得注意的是,Mathematica 不仅图标特殊,连应用名称都没用微软雅黑,这又是怎么回事?

原理

打开上面提到这些拥有特殊磁贴的 Win32 应用的文件所在位置,仔细观摩对比一番,最终锁定了这个文件:AppName.VisualElementsManifest.xml

其中 AppName 就是对应的可执行文件的名字,例如:

以 Mathematica 为例,打开 Mathematica.VisualElementsManifest.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <VisualElements 
  	ForegroundText="light"
	BackgroundColor="#DD1100" 
	ShowNameOnSquare150x150Logo="off" 
	Square150x150Logo="SystemFiles\FrontEnd\SystemResources\Windows\AppTile.png" 
	Square70x70Logo="SystemFiles\FrontEnd\SystemResources\Windows\AppTileSmall.png" />
</Application>

经过修改尝试不难得到:

  • 参数 ForegroundText 控制中号磁贴下方的 App 名称字体颜色,可选 Light 、 Dark 两个值
  • 参数 BackgroundColor 控制磁贴默认背景颜色,值为 16进制颜色代码 或 常用颜色名
  • 参数 ShowNameOnSquare150x150Logo 控制中号磁贴下方是否显示 App 名称,可选 on 、 off 两个值
  • 参数 Square150x150Logo 控制中号磁贴显示的图标,值为 图片路径
  • 参数 Square70x70Logo 控制小号磁贴显示的图标,值为 图片路径

我们可以观察一下 Origin 的磁贴配置文件:

<Application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <VisualElements
        BackgroundColor="black"
        ShowNameOnSquare150x150Logo="on"
        ForegroundText="light"/>
</Application>

可以看到,实际上 Origin 的“高端客制化”仅仅修改了磁贴背景颜色2333

微软开发者文档

本着不得其源不罢休的精神,我在 Microsoft Docs 中找到了这样一篇 Doc:

如何自定义桌面应用的“开始”屏幕磁贴(Windows 运行时应用)

看完官方文档,还有以下几点值得学习的地方:

  1. 配置文件中的 Square150x150Logo 和 Square70x70Logo 属性是可选的,但所有其他属性都是必需的。(参考 Origin 的配置方案)

  2. 颜色预定义字符串有:

颜色名 预定义字符串
黑色 black
银色 sliver
灰色 gray
白色 white
栗色 maroon
红色 red
紫色 purple
紫红色 fuchsia
绿色 green
石灰色 lime
橄榄色 olive
黄色 yellow
藏青色 navy
蓝色 blue
凫蓝色 teal
浅绿色 aqua
  1. 对磁贴图像的限制:

    • 尺寸小于等于 1024x1024 像素
    • 文件大小小于或等于 200 KB
    • 文件类型为 .png、.jpg、.jpeg 或 .gif
  2. 如果你选择自定义图像,则必须针对 Square150x150Logo 和 Square70x70Logo 属性指定图像。如果仅指定其中一个属性,则忽略整个 XML 文件,并将默认样式(应用图标和背景)应用到磁贴。

  3. 一个优秀的开发者应当指定呈比例的、本地化的和高对比度的图像,详见 Doc 步骤 6

    参考 Office 的图像列表:

  4. 创建或修改磁贴样式配置后,应刷新快捷方式文件

方法为,在 快捷方式所在目录 运行 cmd,输入命令:

for %f in (*.*) do copy /b "%f" +,,

此步操作参考:Win10自定义开始菜单磁贴背景颜色及图标

学以致用

给我的 Adobe 全家桶换上了自定义磁贴,开始菜单更漂亮了,嘿嘿~

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: Windows
最后更新:2020年3月2日

OttoLi

涧户寂无人,纷纷开且落
——辛夷坞

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • Ottoli的爸比

    给你的 Adobe 全家桶换上了自定义磁贴,开始菜单更丑陋了,嘿嘿~

    2020年3月10日
    登录以回复
    • OttoLi

      @Ottoli的爸比 ????? :redface:

      2020年3月11日
      登录以回复
  • 您需要 登录 之后才可以评论

    OttoLi

    涧户寂无人,纷纷开且落
    ——辛夷坞

    最新 热点 随机
    最新 热点 随机
    精粤 h610i 主板 BIOS 启动画面 logo 修改自定义 Office/Visio/Project 安装与激活教程 - 适用于各种版本/正版/非正版 CentOS 安装运行 Hentai@Home 教程 自搭建全平台私有密码库 bitwarden & Vaultwarden 如何在不移动本地文件的情况下用 OneDrive 客户端将文件上传至 OneDrive —— 利用 mklink 软链接上传文件 Linux 如何使用密钥对连接 SSH 并关闭密码连接
    [下载]那些超级有用的美术技法教程书[资源]攻壳机动队系列蓝光收藏指南Netch-可替代 SSTap 的开源游戏加速器2021 甲骨文云 Oracle Always Free 永久免费 VPS 服务器 | 介绍/注册/申请/部署/连接/注意事项APlayer & MetingJS 音乐播放器使用指南WordPress 建站日志
    WordPress 整站迁移记录 APlayer & MetingJS 音乐播放器使用指南 自搭建全平台私有密码库 bitwarden & Vaultwarden 阿里云同账号迁移服务器教程 用 VS Code 配置 C/C++ 开发环境 [资源]紫罗兰永恒花园:外传
    标签聚合
    oracle ssh 游戏 VPS 资源 教程 免费 绘画 Office 甲骨文 建站 CentOS 动漫 日期与时间 白嫖 Wordpress Linux Windows Ubuntu ssr
    关于本站

    Otto 不知道该说些什么,于是写了这么一行字……

    目录 隐藏
    1. 引子
    2. 原理
    3. 微软开发者文档
    4. 学以致用

    COPYRIGHT © 2022 OttoLi. ALL RIGHTS RESERVED.SITEMAP

    THEME KRATOS 豫ICP备20004659号 萌ICP备20210150号

    腾讯云  LiteServer  Google Analytics  CloudFlare