使用 uwp 应用程序打开任何类型的文件(无文件关联)

Open any kind of file with an uwp app (without file association)

我正在制作一个简单的 uwp 文本编辑器应用程序。我希望该应用程序即使没有声明文件关联也能打开任何类型的文件,因为 os 中有许多没有已知扩展名的文本文件。有什么方法可以修改注册表,使我的应用程序在记事本等打开方式列表中可用,以便用户可以使用我的应用程序从文件资源管理器本身打开该文件?

问得好,但即使没有在 UWP 应用程序中声明文件关联,恐怕您也无法修改注册表以使该应用程序在 Open-With 列表中可用。文件关联是使应用程序可以 handle the file activation 的唯一方法。 Windows 桌面应用程序和通用 Windows 平台 (UWP) 应用程序都可以注册为默认文件处理程序。如果您确实想要此功能,请随时 post 您对 windows 反馈中心应用程序的要求。

在 Windows 10 2004(内部版本 19041)中,微软在程序包清单中引入了 uap10:FileType 属性,并提供 * 作为值,该应用程序可用于打开所有类型的菜单的文件。要使用它,只需将以下代码添加到您的清单中:

xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
...
<uap:Extension Category="windows.fileTypeAssociation">
  <uap:FileTypeAssociation Name="anyfile">
    <uap:Logo>Assets\mylogo.png</uap:Logo>
    <uap:SupportedFileTypes>
      <uap:FileType>.txt</uap:FileType>
      <uap10:FileType>*</uap10:FileType>
    </uap:SupportedFileTypes>
  </uap:FileTypeAssociation>
</uap:Extension>

这仅适用于 Windows 10 build 19041 及更高版本。如果应用程序目标最低版本低于 19041 以通过清单验证,则额外的 uap:FileType 是必需的,否则可以省略。