CreateFileAsync创建阻止文件

时间:2017-12-15 02:34:02

标签: c# uwp windows-10-universal storagefile

我正在开发一个需要在本地存储之外创建文件的UWP应用。我使用文件夹选择器让用户选择输出控制器,然后使用LocalSettings存储该选择,并将文件夹添加到FutureAccessList

然后,我使用StorageFile.CreateFileAsync创建文件(成功,没有错误或异常)。

问题是,文件是使用阻止创建的,您可以在文件属性对话框中看到:enter image description here

有没有特定的方法来创建没有这个的文件,或者使用C#解锁?

1 个答案:

答案 0 :(得分:0)

我想在这里分享我的一些发现:

  1. 是的,我可以在测试图像时重现这一点。我认为其他文件可能会有相同的结果
  2. 根据以下SO线程:thread1thread2,该属性在System.AppZoneIdentifier中写入,如果您从UWP应用程序检查它,它是一个扩展属性。(对于属性列表你可以参考here
  3. 我使用代码测试来获取此extended property

     IDictionary<string, object> extraProperties = await file.Properties.RetrievePropertiesAsync(propertiesName);
        var propValue = extraProperties[appzoneProperty];
        if (propValue != null)
        {
            fileProperties.AppendLine("appzone property: " + propValue);
        }
    

    我总是得到空值。根据我的理解,这可能与许可有关。

  4. 最后我想如果您需要修改此功能,您可能必须考虑使用Desktopbridge相关技术来使用FullTrustProcessLauncher。这样,您就可以运行win32进程来修改文件的属性。