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

5
我想知道如何控制在 Windows 10 开始菜单中以磁贴方式出现的“传统” WPF 应用程序的图标大小(或通常使用哪个图标)。我只找到了很少几篇像 this one on SO 的文章,但唯一得到的答案是相应的机制仅针对“现代”Windows 应用程序实现。这在动态磁贴和基于清单的定义方面可能是正确的。但是,必须有一种方法来触发“更大”的图标。具体例子:我建立了一个 WPF 应用程序,当将其固定到开始菜单时,它只显示一个小图标。对于所有“传统”应用程序都是如此-请参见快捷方式的附加图像 'Orca.exe' db editor。我相信有一种方法可以实现更大的图标,因为我注意到 Mozilla Thunderbird 应用程序(这是一个“传统”应用程序)显示为 this one(自定义背景颜色和大图标大小)。

有人知道如何实现这个并分享他的知识吗?我已经从可执行文件/快捷方式中提取了使用的图标并进行了比较,但两者都只提供标准图标大小,最大为256px,没有任何区别。

谢谢!


使用桌面桥接程序来构建APPX - magicandre1981
@magicandre1981 谢谢,但我很好奇如何在不创建存储包的情况下实现这一点 - 就我描述的例子而言,这必须以某种方式是可能的。 - loopend
有一个工具可用于为经典程序创建高分辨率磁贴,其链接为:https://github.com/Jonno12345/TileIconifier。 - magicandre1981
1个回答

6

这其实相当简单,但我记得自己曾经很难找到文档(或者意识到这对于“传统”的应用程序是完美的工作方式):

参考:微软文档 - 如何为桌面应用程序自定义开始屏幕磁贴

你可以通过一个名为[Software].VisualElementsManifest.xml的xml文件来控制开始菜单磁贴的描述行为和外观,其中[Software]必须替换为.exe文件的名称(不包括扩展名),例如thunderbird.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>

您甚至可以创建正确的资源文件,提供适当的缩放、本地化和可访问性的附加选项和资产。微软的文档提供了逐步说明。
请注意,该文档警告其内容已被弃用。我不知道这种方式的瓷砖规范是否仍能使用或者他们是否计划在未来完全删除它,但到目前为止,它在所有版本的W10上都可以正常运行。
注2:如果您正在尝试使用现有安装/快捷方式进行操作,则必须刷新相应快捷方式的修改时间戳,然后再取消固定/固定瓷砖,否则 shell 将无法注意到新的定义文件存在。在 PowerShell 中最简单的方法是:(在系统文件夹中修改快捷方式时以管理员身份运行)。
(ls "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\[ShortcutName].lnk").lastwritetime = get-date

或者在目标文件夹中使用CMD:

copy /b [ShortcutName].lnk +,,

谢谢,这确实非常简单,比我预期的要少得多。我确认在我的机器上找到了几个使用它们的安装程序。我会试一试。 - loopend

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接