Windows 经典 WPF 桌面应用程序的 10 / 8 开始菜单磁贴图标大小

Windows 10 / 8 start menu tile icon size for classic WPF desktop applications

我实际上想知道如何控制 'classic' WPF 应用程序的图标大小(或者通常:使用哪个图标?)作为磁贴出现在 Windows 10 开始菜单中捷径.

我只找到了很少的帖子,比如this one on SO,但得到的唯一答案是只有'modern' Windows个应用程序实现了相应的机制。就活动磁贴和基于清单的定义而言,这可能是正确的。

但是,必须一种触发'bigger'图标的方法。具体示例:我构建了一个 WPF 应用程序,当固定到开始菜单时,它只显示一个小图标。所有 'classic' 应用程序都是这种情况 - 请参阅 'Orca.exe' db editor. I do believe in a way to achieve bigger icons because I noticed the Mozilla Thunderbird application (which is a 'classical' application) shows up with this one(自定义背景颜色和大图标大小)快捷方式的附件图像。

有没有人知道如何实现这一点并可以分享他的知识?我已经从 executables/shortcuts 中提取了使用过的图标并进行了比较,但两者都只提供最大 256px 的标准图标尺寸,没有区别。

谢谢!

这实际上非常简单,但我记得自己很难找到文档(或者意识到这非常适合 'classic' 应用程序):

参考:MS docs - How to customize Start screen tiles for desktop apps

您可以使用名为 [Software].VisualElementsManifest.xml 的 xml 文件来控制开始菜单图块的描述行为和外观,其中 [Software]必须替换为 .exe 文件的名称(不带扩展名),例如雷鸟。VisualElementsManifest.xml。正如您已经提到的那样,您可以查看 Thunderbird 文件夹以获取其内容的工作示例。基本上它看起来像这样:

<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  <VisualElements
    ShowNameOnSquare150x150Logo='on'
    Square150x150Logo='VisualElements\VisualElements_150.png'
    ForegroundText="dark"
    BackgroundColor="#FF0000"/>
</Application>

您甚至可以通过创建适当的资源文件为适当的缩放、本地化和可访问性提供额外的选项和资产,documentation 来自 MS 的分步说明。

请注意 该文档对其已弃用的内容发出警告。我不知道这项工作需要多长时间,或者他们是否计划在未来完全删除这种方式的磁贴规范,但是到目前为止,它在所有版本的 W10 上都运行良好。

注意#2:如果你用现有的installation/shortcut来尝试这个,你必须刷新相应快捷方式的修改时间戳,然后unpin/pin 瓷砖,否则 shell 不会注意到新定义文件的存在。在 PS 中执行此操作的最简单方法(运行 在系统文件夹中修改快捷方式时以管理员身份):

(ls "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\[ShortcutName].lnk").lastwritetime = get-date

或从目标文件夹中的 CMD:

copy /b [ShortcutName].lnk +,,