我有一个应用程序,当以windows 10 Pro machine 18363
的操作系统语言在English UK
上运行时,可以正确查询文件和文件夹。查询中有趣的是在应用程序以及System.Kind
中都使用了File Explorer search
。
https://docs.microsoft.com/en-us/windows/win32/properties/building-property-handlers-user-friendly-kind-nameshttps://docs.microsoft.com/en/windows/win32/properties/props-system-kind
通过uwp应用程序或文件资源管理器运行此类查询在另一台具有相同内部版本但为Windows 10 Family
且OS语言为French
的机器上返回错误结果。文档说字符串未本地化,这句话很令人困惑。
在包含图片,视频和文本文件的桌面上的文件夹上运行查询时,我得到以下结果:
System.Kind:picture 返回图片;因此就可以了
System.Kind:video 返回视频;因此就可以了
System.Kind:视频或System.Kind:图片仅返回图片,不正确
System.Kind:图片或System.Kind:视频仅返回图片,不正确
而且以下内容更奇怪
System.Kind:图像或System.Kind:视频仅返回图片,不正确
System.Kind:视频或System.Kind:图像返回视频或图片,因此可以
我还尝试过将法语的[[OU更改为OR,但这没有帮助。
UWP应该使用通用的方法在不本地化查询字符串的情况下查询任何语言的OS环境,这对我来说System.Kind
比kind
(英语)或sorte
(法语)更受欢迎。从System.Kind枚举,我应该使用
picture
或video,但这在法语操作系统中失败,并且image仅按一种顺序起作用1)如何以语言不变的方式设置以上查询?2)为什么最后两个操作不是可交换的?
System.Kind:System.Kind#Picture OR System.Kind:System.Kind#Video
由于某种原因,其他任何东西在本地化的Windows版本上都会返回奇怪的结果:-)
System.Kind#Picture
对应于文档中所解释的内容:
对于定义的语义类型T,其值或范围为N₁到Nₖ,第ith个值或范围的规范语法为规范T的名称,后跟字符#,然后是Ni