Windows runtime WinRT-如何在代码中打开文件并防止用户尝试使用应用程序打开相同类型的文件

Windows runtime WinRT-如何在代码中打开文件并防止用户尝试使用应用程序打开相同类型的文件,windows-runtime,storagefile,Windows Runtime,Storagefile,在我的WinRT应用程序中,我需要从users documents文件夹中读取一个特定的文本文件(我确切地知道文件的位置,因为WinRT应用程序是用户已经安装的软件的伴侣)。我可以通过StorageFile/ReadTextAsync和添加到应用程序清单中的注册文件关联类型来实现这一点 我的问题是,由于我必须在应用程序清单中声明一个文件关联,现在每当用户打开任何文本文件(.txt),Windows 8都会提醒他们我的WinRT应用程序可以打开它。这并不理想,因为我的应用程序只在代码中的一个位置以

在我的WinRT应用程序中,我需要从users documents文件夹中读取一个特定的文本文件(我确切地知道文件的位置,因为WinRT应用程序是用户已经安装的软件的伴侣)。我可以通过StorageFile/ReadTextAsync和添加到应用程序清单中的注册文件关联类型来实现这一点

我的问题是,由于我必须在应用程序清单中声明一个文件关联,现在每当用户打开任何文本文件(.txt),Windows 8都会提醒他们我的WinRT应用程序可以打开它。这并不理想,因为我的应用程序只在代码中的一个位置以编程方式读取特定的文本文件-它无法打开任何文本文件。当然,如果我从清单中删除文件关联,那么我就无法以编程方式读取文本文件

我的问题是,我如何读取代码中的文本文件,而不让用户认为我的应用程序可以打开任何文本文件


注意:文件关联属性中有一个复选框,名为“始终不安全”,您可能会认为该复选框可以满足我的要求,但显然它不会禁止用户使用我的应用打开文本文件。

我可能错误地理解了您的情况,但如果用户可以在您的应用中选择一个文件,您可以在选择器选项中筛选他可以打开的文件类型。

在这种情况下,用户没有选择文件。他们运行WinRT应用程序,该应用程序读取在其文档目录中找到的特定txt文件。实际上,它读取许多文本文件,这些文件由另一个软件安装到文档目录中。-感谢您不再使用文件关联,您是否考虑过让您的“同伴桌面应用程序”ACL访问该文件,以便您的应用程序可以在无需用户许可的情况下读取该文件?例如,您可以授予所有应用程序包访问该文件的权限,这将授予所有应用程序访问该文件的权限。我怀疑有一种方法可以只授予对特定应用程序的访问权限,但我不确定。您可能知道一些事情,但我没有发现任何证据表明WinRT应用程序将打开一个被授予特殊权限的文件,而不需要文件类型关联。-谢谢