【发布时间】:2021-04-23 09:24:47
【问题描述】:
我正在尝试为 UWP 文本编辑器中的文件实现 Notepad++ 样式切换只读标志。我尝试使用SetFileAttributesFromApp,但对于批处理文件和VBScript 文件等敏感文件类型,使用Access to the path is denied 失败。然后我尝试使用 SetFileInformationByHandle,它需要 UWP 应用程序从 StorageFile 获取句柄。我尝试使用CreateSafeFileHandle,但它只提供读写访问权限,修改属性的唯一方法是获得写访问权限。如果文件启用了只读标志或文件被拖放到编辑器,则获取写访问权限失败。我检查了this 问题的答案,该方法指定的唯一额外访问权限是读取属性和删除访问权限。所以我的问题是我可以让FILE_WRITE_ATTRIBUTES 访问从StorageFile 创建的句柄,如果可以,我该怎么做??
【问题讨论】:
-
请问您使用的项目是 C# UWP 项目还是 C++/WinRT UWP 项目?
-
@YanGu-MSFT 抱歉没有说清楚(我以为
SafeFileHandle的用法会很明显),该项目是一个uwp C# 项目,P/Invoking 一些winapi方法。跨度>