3

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

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

问题是,文件是使用阻塞创建的,正如您在文件属性对话框中看到的那样:在此处输入图像描述

有没有一种特定的方法可以在没有这个的情况下创建文件,或者有一种使用 C# 解除阻塞的方法?

4

1 回答 1

0

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

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

     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 进程来修改您的文件的属性。

于 2017-12-18T09:45:29.033 回答