首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在UWP中获得StorageFile或StorageFolder的FILE_WRITE_ATTRIBUTES访问的Win32句柄?

在UWP中,通过使用StorageFileStorageFolder类来获取FILE_WRITE_ATTRIBUTES访问的Win32句柄是不可能的。这是由于UWP应用程序的安全模型限制所导致的。UWP应用程序在运行时受到严格的沙箱保护,无法直接操作底层的Win32 API或获取文件的低级访问权限。

UWP应用程序采用了一种称为"沙箱"的安全模型,目的是确保应用程序的安全性和隔离性。沙箱模型禁止应用程序直接访问底层操作系统的API,包括获取文件的低级访问权限。相反,UWP应用程序必须通过使用提供的特定API来访问文件系统。

在UWP中,可以使用以下方式来访问和操作文件:

  1. 使用FileOpenPickerFolderPicker类允许用户选择文件或文件夹,并返回StorageFileStorageFolder对象,然后可以使用这些对象进行读取、写入等操作。
代码语言:txt
复制
FileOpenPicker filePicker = new FileOpenPicker();
filePicker.ViewMode = PickerViewMode.List;
filePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
filePicker.FileTypeFilter.Add(".txt");

StorageFile file = await filePicker.PickSingleFileAsync();
if (file != null)
{
    // 进行文件操作
}
  1. 使用KnownFolders类可以访问特定的系统文件夹,如文档、图片、音乐等。
代码语言:txt
复制
StorageFolder documentsFolder = KnownFolders.DocumentsLibrary;
  1. 使用StorageFileStorageFolder类提供的API进行文件的读写、创建、删除等操作。
代码语言:txt
复制
StorageFolder folder = await StorageFolder.GetFolderFromPathAsync("C:\\FolderPath");
StorageFile file = await folder.CreateFileAsync("FileName.txt", CreationCollisionOption.ReplaceExisting);

await FileIO.WriteTextAsync(file, "Hello, World!");

string content = await FileIO.ReadTextAsync(file);

需要注意的是,UWP应用程序的文件访问权限受到应用程序的声明和用户的许可控制。在应用程序的清单文件中,需要声明所需的文件系统访问权限,并在应用程序运行时向用户请求相应的权限。

需要强调的是,UWP应用程序的设计理念是以安全性和隔离性为重点,因此对于一些特定的底层操作,如获取FILE_WRITE_ATTRIBUTES访问的Win32句柄,是不被允许的。这是为了确保应用程序的安全性和稳定性。如果有特定的需求需要进行这样的操作,可能需要重新评估应用程序的设计,并考虑使用其他技术和平台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 保存用户选择文件夹

如果我们每次把临时处理文件保存,都要让用户选择一次,用户会不会觉得uwp垃圾?...如果我们每次打开应用,都从某个文件读取,而这个文件不在应用目录和已知目录,那么每次都需要用户选择,用户会不会觉得uwp垃圾? 其实垃圾wr给了一个类,我们可以用这个类获得用户选择过文件、文件夹。...它是如何来,在我们添加一个文件文件夹,就会返回,于是我们要把它保存。 我们先从让用户选择选择文件夹,选择文件夹需要 FolderPicker 。...); 因为我们就保存一次,如果在保存,用户关机,那么就和微软诺基亚差不多了。...我们使用json保存,json可以使用第三方,我有写过 win10 uwp json 保存相关

1.3K20

win10 uwp 读写XML xml 语法XmlDocumentLinq 读写 XMLWPF 读XMLWPF 读写 xaml

如果遇到了 C# UWP 读取 xml 返回 Node 是空,那么请检查命名空间,关于命名空间内容,请继续看博客。 xml 语法 xml 一开始一般就是 文档声明 文档声明就是 <?...本文下面的 file 就是一个 StorageFile获得 StorageFile 方法参见win10 UWP读写文件 - CSDN博客 XmlDocument.LoadFromFileAsync...var file = GetStorageFile(); // 获得文件方法有很多,请使用一个方法获得需要读取文件, FileOpenPicker 访问应用文件 await XmlDocument.LoadFromFileAsync...首先来说下如何从文件创建 xml ,我们需要使用 XDocument ,这里 file 同样是 StorageFile ,感谢yueguogaoshan 提出了我这里没有告诉大家 file 是从哪里获得...Value来获得,Attribute 参数是 XName,那么 为何我们还直接用 string,原因是除了开始用冒号分开属性,x:Name,其他都可以直接使用 string。

1.9K10
  • Windows Developer Day - Windows AI Platform

    从这张架构图来看: 底层是 Direct 层 DirectML API/Direct3D/CPU/GPU,DirectX 版本支持是 DX12 上面一层是推断引擎,包括了 Win32 和 WinRT...部分,主要负责模型和设备资源管理,负责加载和编辑核心操作符,执行数据流图 最上层是应用程序层,同样包括了 Win32 和 WinRT 部分;令人欣喜是,它在所有 2018 年 Windows 版本上都可用...从上图中可以看出整个 Windows ML 使用过程: 首先在云端或者本地服务器上训练模型,生成 ONNX 模型文件 把 ONNX 添加到本地开发环境, Visual Studio 在本地程序通过...来看第一个示例:MNIST_Demo,是一个手写数字识别的 UWP 程序,大家都知道,手写数字识别是 Machine Learning 基础和入门课题,就像每种编程语言 Hello World 一样...接下来看看界面代码模型实际加载方式: private async void LoadModel() { //Load a machine learning model StorageFile

    1.1K110

    WindowsXamlHost:在 WPF 中使用 UWP 控件(Windows Community Toolkit)

    配置 WPF 项目能访问 UWP 类型 因为我们即将开始使用到 UWP 控件类型,所以需要配置项目能够访问到 Windows Runtime 类型。 ?...值得注意地方 目前 WindowsXamlHost 还不够稳定,会出现一些闪退 这点就需要为 WindowsCommunityToolkit 贡献 Issues 代码了 Host UWP...控件是一个新 HwndSource,这相当于 UWP 控件是通过子窗口形式与 WPF 窗口放在一起 于是,只能指定一个矩形区域完全属于 UWP,在这个区域 WPF 控件无法与其获得交互渲染叠加...在 PerMonitorV2 DPI 感知级别下,UWP 控件能够正常获得 DPI 缩放。 在 100% DPI 屏幕下: ? 在 150% DPI 屏幕下: ?...关于 PerMonitorV2 和 PerMonitor 理解和区别,可以参见: Windows 下高 DPI 应用开发(UWP / WPF / Windows Forms / Win32) - walterlv

    4.7K20

    win10 uwp 读取文本GBK错误

    我使用NotePad记事本保存文件,格式ASCII,用微软示例打开文件方式读取,出现错误 “在多字节目标代码页,没有此 Unicode 字符可以映射到字符” 英文 No mapping for the...读ASCII错误 UWP read ASCII UWP GBK UWP 读取记事本 UWP 访问GBK网页乱码 UWP 乱码 UWP GB2312 乱码 UWP...原因是因为文本保存为 查了一下WPF使用默认可以读,原因是默认 WPF 编码读取是 GBK 所以这时就可以读取,但是在 UWP 是没有 GBK ,默认也不是。...- Artech - 博客园 文本还有一个坑,我们如何在文本追加?uwp追加文本其实换了类,在FileIO。...对于一个需要追加文件,UWP追加文件写入其实可以使用await FileIO.AppendTextAsync(StorageFile,"追加文本"); ----

    1.3K10

    dotnet 从入门到放弃 500 篇文章合集

    输出 C# 如何在项目引用x86 x64非托管代码 C# 已知点和向量,求距离点 C# 强转会不会抛出异常 C# 很少人知道科技 C# 快速释放内存大数组 C# 搜索算法 C# 获得设备usb... win10 uwp 设置 HttpClient 浏览器标识 win10 UWP 访问网页 win10 uwp 读写csv win10 uwp 读写XML win10 uwp 调试软件启动 win10...鼠标放开值 win10-uwp-获得焦点改变 win10-uwp-访问解决方案文件 win10-uwp-车表盘-径向规 win10-uwp-随着数字变化颜色控件 win10-uwp-隐私声明 win10...好看矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF 如何在 WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常 WPF...如何使用 Telegram 如何使用本模板搭建博客 如何入门 C++ AMP 教程 如何写毕业论文 表格 如何删除错误提交 git 大文件 如何在 UWP 使用 wpf Trigger 如何安装

    10.4K20

    win10 uwp 访问解决方案文件 WPF 访问解决方案文件C# 访问解决方案文件

    本文讲如何访问解决方案资源。 我们经常会把一些图片资源放在我们解决方案,那么从这里拿出来很简单。...我在 Assets 放了图片 1.jpg 那么我要把他拿出来可以 var file=await StorageFile.GetFileFromApplicationUriAsync...(new Uri("ms-appx:///Assets/1.png")); 那么我们访问我们解决方案加 ms-appx 就是解决方案绝对路径,如果我们相对于我们xaml路径也是可以 如果需要访问我们应用本地数据...local ,临时文件 temp 等,可以使用 ms-appdate:// 后面加/ local、temp 如果我们本地有 1.png 放在 local 我们可以使用 var file=await StorageFile.GetFileFromApplicationUriAsync...WPF 使用 Application.GetResourceStream 获得,注意 URL 和UWP不同,WPF使用 参见 https://msdn.microsoft.com/en-us/library

    1.1K10

    使用 Task.Wait()?立刻死锁(deadlock)

    调用 Task.Wait() 或者 Task.Result 立刻产生死锁充分条件: 调用 Wait() Result 代码位于 UI 线程; Task 实际执行在其他线程。...死锁原因: UWP、WPF、Windows Forms 程序 UI 线程都是单线程。...那是因为,它不满足本文提到充分条件——StorageFolder.GetFolderFromPathAsync("") 和 StorageFolder.GetFolderFromPathAsync("...不在后台线程执行怎么做到异步等待!!! 是的,读写文件,访问网络,这些 IO 阻塞操作执行时,里面根本就没有线程,详情请阅读:There Is No Thread。...还有另一些操作,也没有后台线程参与,于是也不存在从后台线程回到主线程导致死锁情况。 Task.Yield,还有 InvokeAsync,它们也不会造成死锁。

    1.2K10

    win10 uwp 字符文本转语音声音文件方法

    UWP ,支持将传入字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaElement 播放,或者将这个音频保存到文件里面 本文方法是通过 SpeechSynthesizer 类提供将...word 就是传入字符串文本,可以是一个单词也可以是一个句子一段话 在 UWP 中使用如上面代码就可以用到 UWP 自带语音合成技术将文本转换为语音功能 在拿到 SpeechSynthesisStream...之后,可以进行播放或者保存到文件 进行播放时需要使用到 MediaElement 控件,在 XAML 先添加 MediaElement 控件,代码如下 <MediaElement x...wordFile.OpenStreamForWriteAsync()) { await stream.AsStreamForRead().CopyToAsync(wordFileStream); } 在上面代码...wordFile 是一个 StorageFile 对象,可以通过用户选择等方式获取 本文代码放在 github 欢迎小伙伴访问

    58520

    加强版在国内分发 UWP 应用正确方式 通过win32安装UWP应用

    本文告诉大家如何使用传统方法,将 UWP 作为 win32 应用安装包方法分发给用户安装 将 UWP 作为安装包方式分发也就是通过旁加载方式,而微软干不错时使用旁加载如果使用证书不清真,那么就要求用户信任证书...将 UWP 作为 win32 安装包方式让用户安装原理就是写一个安装程序,这个安装程序是控制台程序,在安装程序将会自动安装证书,自动安装应用。...如何做自动更新请看 如何在国内发布 UWP 应用 和 win10 uwp 发布旁加载自动更新 用这两个方法可以做到旁加载应用可以自动更新,要求 17134 最低版本 此时可以看到发布文件夹,这里...因为个人开发者不需要整套 DevOps 以及应用分发数据传回等,如果个人开发者玩了这么多,开发量预计比应用还大 本文命令行安装程序放在 github 欢迎小伙伴访问 如果不想通过命令行调用方式安装...tool - UWP apps Create an app package with the MakeAppx.exe tool - MSIX 如何在国内发布 UWP 应用 WindowsStoreAppUtils

    1K10

    使用.NET Core 构建现代化桌面应用

    我们今天要聊内容主要桌面开发四个方面:Windows平台、.NET Core 3 平台上WPF,Winform, 应用打包解决方案 MSIX 和 XAML 群岛访问原来UWP控件,让我们应用程序迅速现代化...托管在 XAML 岛 UWP 控件也可在面向 .NET Core 3 Windows 窗体和 WPF 应用中使用。...使用.NET Core 3 升级Windows 桌面应用开发好处还有很多,下面简要列几条: •现代运行时、BCL 和语言功能 •更容易访问平台和设备API •现代化 且可访问UI和输入 •针对...下载地址:https://dotnet.microsoft.com/download/dotnet-core/3.0 .NET可移植性分析器可帮助您识别代码可移植不可移植到. net Core 部分...开始,可以将 UWP XAML 控件直接添加到与窗口句柄 (HWND) 关联 WPF、Windows 窗体 C++ Win32 应用任何 UI 元素。

    2.2K10

    Rufus作者长文痛斥UWP,微软还是十年前香!

    +直接访问微软内部开发人员来完成这些工作,我不知道)来最终创建一个混合UWP Windows终端应用程序。...因此,如果我们想在2018年将终端构建为一个UWP应用程序,那么我们将生成任何shell(cmd.exe、powershell.exebash)都将无法对系统执行任何操作。...换句话说,并不是因为你能够在不到5分钟时间内创建一个简单UWP应用程序,它不需要执行任何类型系统访问UWP才适合其他应用程序。...事实上,Rufus依赖于最初在Windows以外其他平台上设计和运行工具,比如Syslinux、ms syse2fsprogs坏块检查功能,因此至少这些功能可以在其他平台上获得。...Reddit上掀起波澜 这个帖子时隔近一年又在Reddit上被网友翻出来了,2天时间获得了1千1百个点赞。 有网友认为UWP最大问题就是微软都放弃他了,每次都在重写。

    46910

    设备驱动程序通知应用程序几种方法

    前者实现较容易,通过CreateFile()函数获取设备驱动程序句柄后,就可以使用Win32函数,DeviceIoControl()、ReadFile()WriteFile()等实现应用程序与设备驱动程序之间通信...设备驱动程序获得回调函数地址后,将它保存在一个全局变量(callback),同时调用Get_Cur_Thread_Handle()函数获取它应用程序线程句柄,并且将该句柄保存在一个全局变量(...用LoadLibrary()函数加载未公开动态链接库Kernel32.dll,获得动态链接库句柄。...如果当前IRP处于挂起状态,则主程序先做一些其它工作,然后调用WaitForSingleObject()WaitForMultipleObject()函数等待Overlapped事件成为有信号状态...设备驱动程序获得该事件句柄后,将它转换成能够使用事件指针,并且把它寄存起来,以便后面使用。

    1.9K21

    UWP 写入图片 Exif 信息

    本文告诉大家如何在 UWP ,保存图片时候,写入 Exif 信息,也就是照片 相机型号 制造商 光圈值等信息写入 在 UWP ,保存图片照片需要用到图片编码器,在使用编码器写入前可以设置编码器写入图片属性...如果大家切换为其他图片格式,还请自行测试一下 在创建编码器可以在构造函数传入参数,通过参数设置一些 Exif 信息,质量信息。...这些可以从 官方文档 获取 官方文档里面说写入相机型号描述如下 propertyDescription name = System.Photo.CameraManufacturer shellPKey...写入相机型号描述等代码如下 var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId...gitee 源,如果 gitee 不能访问,请替换为 github 源 git remote remove origin git remote add origin https://github.com

    91430

    UWP 手绘视频创作工具技术分享系列 - 手绘视频导出

    手绘视频最终生成物是视频文件,前面几篇主要讲的是手绘视频创作部分,今天讲一下手绘视频导出问题。主要以 UWP 为例,另外会介绍一些 Web 端遇到问题和解决方法。...如上所述,手绘视频在创作后,最终会导出为视频文件, MP4,WMV 等,我们目前选择是 MP4,整个导出大致分为几个步骤: ? 1....不过我们在 UWP 并没有使用 FFMpeg,一方面代码库体积较大,另一方面我们有 MediaComposition 和 MediaClip 可用。...看一下简单示例代码: StorageFile music = await StorageFile.GetFileFromApplicationUriAsync(new Uri(DrawOption.Instance.DefaultMusic.url...基于这些问题,我们想到了另一个解决办法,在用户本地,使用浏览器插件本地应用程序,来完成转换并同步到服务器。下面简单说说我们目前尝试几种方案: 1.

    1.1K60

    8.5K Star开源超好用Windows优化器,功能丰富,禁用无用服务,删除多余启动程序

    快速下载多个有用应用程序:软件提供快速下载多个实用应用程序,方便用户获得所需工具和软件。...识别和终止文件锁定句柄:软件提供功能来识别和终止正在锁定文件句柄,以便用户可以操作删除相关文件。 硬件检测工具:软件提供硬件检测工具,可以显示有关计算机硬件详细信息。...在桌面右键菜单添加项目:用户可以自定义在桌面右键菜单添加项目,以便更快地访问常用功能。 定义运行对话框自定义命令:软件允许用户定义运行对话框自定义命令,以便更方便地运行常用操作。...6.软件还提供了其他功能,删除不需要启动程序、编辑HOSTS文件、识别和终止文件锁定句柄等。 7.您还可以使用该软件进行硬件检测、在桌面右键菜单添加项目、定义运行对话框自定义命令等。...请注意,具体步骤可能会因软件版本差异而有所不同。建议在使用该软件之前阅读相关文档获得更多帮助。

    42040
    领券