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

我能记住UWP应用程序中打开的文件吗?

是的,你可以在UWP(Universal Windows Platform)应用程序中记住打开的文件。这通常通过保存文件的路径或文件内容到一个持久化的存储位置来实现,比如本地文件系统、应用设置或是云存储服务。

以下是一些在UWP应用中记住打开文件的方法:

1. 使用本地设置存储文件路径

你可以使用ApplicationData.Current.LocalSettings来保存和检索文件的路径。

代码语言:javascript
复制
// 保存文件路径
var localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values["lastOpenedFilePath"] = filePath;

// 检索文件路径
if (localSettings.Values.ContainsKey("lastOpenedFilePath"))
{
    string lastOpenedFilePath = localSettings.Values["lastOpenedFilePath"] as string;
    // 使用文件路径
}

2. 使用文件系统存储文件内容

如果文件内容较小,你可以将其内容保存到本地文件系统中。

代码语言:javascript
复制
// 保存文件内容到本地文件
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("lastOpenedFile", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(file, fileBytes);

// 读取保存的文件内容
StorageFile savedFile = await ApplicationData.Current.LocalFolder.GetFileAsync("lastOpenedFile");
byte[] savedFileBytes = await FileIO.ReadBytesAsync(savedFile);

3. 使用云存储服务

对于需要跨设备同步的情况,你可以使用云存储服务,如OneDrive、Azure Blob Storage等。

代码语言:javascript
复制
// 保存文件到OneDrive
// 需要先集成OneDrive SDK并获取访问令牌
await oneDriveClient.Drive.Root.Children["lastOpenedFile"].Content.UploadAsync(fileStream, file.Name);

// 从OneDrive读取文件
var file = await oneDriveClient.Drive.Root.Children["lastOpenedFile"].Content.Request().GetAsync();

注意事项

  • 当保存用户数据时,务必遵守相关的隐私政策和用户协议。
  • 对于敏感数据,应考虑加密存储。
  • 在应用卸载或更新时,要处理好数据的迁移和清理工作。

通过上述方法,你可以在UWP应用中记住打开的文件,并在应用下次启动时恢复这些文件的状态。

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

相关·内容

如何为你 Windows 应用程序关联 URL 协议,以便在浏览器打开应用

移动程序关联 URL 是常态,桌面应用程序其实也早就支持关联 URL 以便在浏览器打开。当我们程序关联了一个 URL 协议之后,开发网站上就可以通过这个 URL 与程序进行互操作,这很互联网。...本文我们将定义一个 walterlv 协议,然后关联到我们本地安装一个桌面应用程序上,然后使用 walterlv://open?id=1 来打开一个 id 为 1 逗比。...walterlv 根键 (Default) 属性给出是链接名称;如果后面没有设置打开方式(也就是那个 Shell\Open\Command)的话,那么在 Chrome 里打开就会显示为那个名称...接下来 Shell\Open\Command (Default) 值设置为一个打开此协议用命令行。其中路径后面的 "%1" 是文件资源管理器传入参数,其实就是文件完整路径。...也就是说,如果你试图修改文件关联,那么需要去 HKEY_LOCAL_MACHINE\Software\Classes 和 HKEY_CURRENT_USER\Software\Classes ,但如果只是去查看文件关联情况

1.9K40

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

UWP应用实现了一次开发,适配不同Windows平台设备。UWP应用根据尺寸大小自动调整布局,大大降低了开发适配过程,提升了应用开发整体效率。 UWP应用在不同尺寸设备下布局和操作逻辑是相近。...你想象使用shell时不需要改变目录、读取文件内容或启动任何其他可以与之交互进程?很明显,这对我们来说是不可能。 当然还有其他原因,作者表示并不想谈。...它只是创建一个分区,格式化它,从一个ISO复制一堆文件,对?”)并更新无数元素,每当你从UI上接触任何东西时,这些元素都需要注意。...所以请记住: 1、不是因为某人不做某事,他们才讨厌它。...下面是他回复: 哇!回答得太长了!错了。以为UWP是一个windows应用程序设计系统加上一些额外东西。比如材料设计等等,想知道为什么你不喜欢一个设计系统。

47210
  • win10 uwp 不显示 SplashScreen 欢迎界面的方法

    UWP 应用,欢迎页面 SplashScreen 是用户第一个看到界面,这个界面是由 ApplicationFrameHost 读取 UWP 配置图片显示出来,因此 UWP 才能做到点击应用瞬间启动...那么如果不想显示启动界面 SplashScreen 图片,可以如何做?...有两个方法,第一个方法是比较推荐,在应用程序如果启动足够快,那么将不显示欢迎界面,如果启动不够快那么依然显示欢迎界面,这样用户就知道打开应用程序。...也就是没有找到任何一个有用进入应用程序界面的方法 第一个可以使用是编辑 Package.appxmanifest 文件,在 VisualStudio 选中 Package.appxmanifest...文件,然后按下 F7 进入编辑文本模式,此时将使用 xml 打开文件 在这个文件里面可以看到 uap:SplashScreen 配置,这就是 UWP 启动界面图片设置值 在这一行添加如下代码 a

    1K10

    在应用退出时弹出确认提示框

    CloseRequested 为了监视应用退出事件,本来使用了CoreApplication.Exiting,但好像并不起作用,后来就没再研究它触发机制了。...SystemNavigationCloseRequestedPreviewEventArgs还提供了GetDeferral函数,它返回一个Deferral对象,它可以在异步操作延迟UWP应用生命周期事件执行...究其原因,是因为confirmAppClose是一个受限功能,必须修改应用程序包清单源文件(Package.appxmanifest), 添加xmlns: rescap XML 命名空间声明,并声明受限功能...我们知道UWP应用生命周期中,在background 运行和suspended状态时应用基本处于暂停状态,也不会处理UI功能,这时候让它弹框?“除非你叫醒,否则罢工”。...所以在应用不可视状态下关闭应用,例如最小化情况下在任务栏点击关闭窗口,程序怎么办? 弹框是不可能弹,只能装死了。 所以这时候程序就完全没有反应。当应用重新回到前台运行,确认框才会弹出来。

    3.9K10

    xamarin.forms uwp app部署到手机移动设备进行测试,真机调试(device portal方式部署)

    步骤: 1.配置手机device-portal功能 1.1.手机启用开发者模式 1.2.手机设备门户(device-portal)开启,并开启设备发现 1.3.把1.2显示wifi地址在pc电脑上打开...完成配对之后,就可以安装我们app了。 安装app: 1.app项目右键应用商店创建应用程序包 ? 基本上是一路next即可。 ? 生成完成后,记住输出地址,我们回到图4页面。...install app 选择刚才我们生成安装包。这里需要注意是。选择文件默认是选择.appx文件 ? 而我们生成大致是这样子,所以这个地方地方选择所有文件,然后选择*.appxbundle这个。...然后接着选择dependency文件,即依赖文件。手机选择arm平台依赖文件。 选择完成之后,GO! ? ? 然后就可以看到 ? 等待安装完成v ?.../uwp/debug-test-perf/device-portal-mobile

    1.2K10

    签署 Centennial Program Addendum,使用 Desktop Bridge 将 Win32 应用转制成 UWP

    而桌面桥提供了一种与 UWP 一致 Windows 应用包,使用这种 Windows 应用包,普通 Win32 应用也访问 UWP API。...当然,并不是所有的 Win32 应用程序都支持直接转制到 UWP,如果应用会动态加载不在安装包 dll 或者会试图修改系统文件和配置,那么必须去掉这些代码才能完成转制。...在 Visual Studio 创建 Windows 应用打包工程 使用 Visual Studio 打开原来 Win32 程序解决方案,在解决方案中新建一个 Windows 应用程序包项目(Windows...随后展开 Applications(应用程序)一栏,将我们 Win32 程序右击设为入口点。 ? 编译刚刚设置好打包项目。如果之前项目能够编译通过,那么这个新打包项目理论上也是编译通过。...在实际提交,等待邮件通知之时,三天基本上都过完了,所以稍微不及时收邮件,这项协议就点不开了,就只能看到下面这张图片感叹一声 —— 又要重来! ?

    1.9K10

    配置文件数据库连接串加密了,你以为就挖不出来

    讲故事 前几天在调试物联柜终端上一个bug时发现 app.config 数据库连接串是加密,因为调试要切换数据库,需要将密文放到专门小工具上解密,改完连接串上数据库名,还得再加密贴到 app.config...TP9t3n5QllJTihrmDFbiGHLqe1kfN3uB3g1kgs0oobIEfNPr09kQ/pFgzZi/kZCrK10PLZZ0pFj1YU5ReFqBsdBlecV3D2Zl3lx1Ibls24t7w==" /> 改完bug之后,就想这玩意了谁呢...从DAL/Repository层去反编译代码 要想得到明文数据库连接串,可以从代码反推,比如从 DAL 或者 Repository 找连接串字段 ConnectionString,这边终端程序是用...接下来问题就是有没有办法把进程这个静态变量给挖出来?你说对,就是抓程序 dump文件 用 windbg 去挖。 三:使用 windbg 去脱库 1....从上图中可以看到,静态字段是在 Manager 类型对象 ,实例字段都是在 Manager 对象 ,对照这张图,只需要通过 windbg 找到 OleDbHelper 类型对象,也就是所谓 EEClass

    66120

    win10 uwp 读取文本GBK错误

    本文讲的是解决UWP文本GBK打开乱码错误,如何去读取GBK,包括网页GBK。最后本文给出一个方法追加文本。...使用NotePad记事本保存文件,格式ASCII,用微软示例打开文件方式读取,出现错误 “在多字节目标代码页,没有此 Unicode 字符可以映射到字符” 英文 No mapping for the...UWP 网页乱码 其实不知道垃圾wr怎么想,现在没法读ASCII,把文本用文本编辑器打开,另存为时候保存为 ASCII 格式,使用官方给代码,直接错。...看来这个也不可以,觉得要写个转换 最后发现 https://bbs.uwp.ac.cn/?/article/43 有大神方法,请看下面代码。...对于一个需要追加文件UWP追加文件写入其实可以使用await FileIO.AppendTextAsync(StorageFile,"追加文本"); ----

    1.3K10

    (12) 为了理解 UWP 启动流程,从零开始创建了一个 UWP 程序

    然而这些文件UWP 程序到底是如何工作起来从零开始创建了一个 UWP 程序,用于探索这些文件用途,了解 UWP 程序启动流程。...当然,其它简单的如 .NET Standard 库都是一样,反正最后都会被我改得面目全非。 ? 于是得到了一个 csproj 项目文件和包含有应用程序入口 Program.cs 文件。 ?...事实上,虽然依然无法完成编译,但此时可以通过在 Visual Studio 打开这份文件来观察还缺少哪些必要信息需要填写。 ?...如果出现下图所示错误,建议先考虑将以上 csproj 文件所有内容复制到你项目文件再试。 ? 完成部署和运行 以上所有内容是一个 UWP 程序完成编译并运行所需最少信息了。...Package.appxmanifest 文件 这是 UWP 应用程序清单文件

    1.3K10

    张高兴 UWP 开发笔记:应用内启动应用 (UWP Launch UWP)

    启动方式使用 Uri 启动,本文使用尽可能简单,并且拿来直接用代码。...不涉及启动后应用数据交互,如需深入了解,请戳 MSDN:https://docs.microsoft.com/zh-cn/windows/uwp/launch-resume/launch-app-with-uri...打开 B 应用程序清单 Package.appxmanifest ,在“声明”选卡项添加一个新“协议”声明(如果你做过后台任务的话那一定很熟悉)。...在“名称”(name)那一栏填写你需要注册 Uri (随便编)。填写完成后保存,这样就完成了 Uri 注册。 ?   ...Uri 启动应用是以激活形式启动应用,和磁贴与Toast通知激活启动一样,需要在 App.xaml.cs 文件里重写 OnActivated() 事件。

    1.2K90

    【译】Visual Studio 2019 WPF & UWP XAML 开发工具新特性

    虽然这是新默认设置,但仍然可以通过实时可视化树本身内按钮或通过新设置(位于:选项>调试>常规>启用XAML)返回到以前行为。 ?...实时可视化树Just My XAML 可移动应用内工具栏(v16.3): 应用程序内工具栏已得到增强,可在正在运行 WPF / UWP 应用程序中移动,从而使开发人员能够在应用程序向左或向右拖动它以解除阻止应用程序...以前经验丰富用户在 Visual Studio 会话存储了每个文件缩放级别和位置,这在客户经过一段时间后返回文件时引起混乱。...在此版本,我们将这种经验带回 UWP 开发人员,并增加了对 WPF .NET Core 应用程序支持。...只需打开要在其中添加 merge 语句 XAML 文件,然后找到要合并文件,然后在解决方案资源管理器右键单击该文件即可。

    7.3K30

    UWP 打包 win32 应用 添加防火墙例外

    想要将一个 WPF 应用打包为 UWP 应用,然后用自己商店发布,在做 UWP 安装包小伙伴会问如何和 nsis 一样添加防火墙例外 应用没有在安装添加例外,会在应用开放服务监听端口提示 Windows...创建一个空白控制台项目,然后打开 csproj 文件,更改下面代码 <...上面代码 ItemGroup 内容就是引用另一个应用所有文件夹,这里 CopyToOutputDirectory 设置将所有文件输出,这样就能在打包时输出应用 打开 DalljalfonafearBairyekeregu...这个项目需要右击应用程序,添加启动器引用 如果是一个不需要添加防火墙例外应用,这样做就完成了 需要添加防火墙例外需要右击 Package.appxmanifest 查看代码,添加下面代码...,推荐你从github下载代码,用 VisualStudio 2019 打开,先使用 dotnet build 构建 Main\NarhedeachawhearWeargijawgowe 代码 然后双击

    92110

    win10 uwp 使用 Microsoft.Graph 发送邮件 注册应用创建 UWP 程序安装 nuget 包添加访问权限发送邮件

    经过了一天测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章文章之后,按照文章方法尝试了很久终于成功发送了邮件...点击添加应用程序权限 ?...关于权限这一步,请先照着点,详细请看Office 365 开发入门指南 还有这个步骤最重要,点击下方保存,有小伙伴就告诉按照教程无法成功,过了很长时间才发现是没有保存 创建 UWP 程序 打开...然后勾选包含预发行版,找到 Microsoft.Identity.Client 2.2 版本 ? 添加访问权限 打开 UWP MainPage.xaml.cs 文件,添加 Load 事件 ?...看到这里就可以知道,现在UWP发送邮件有三个方法,本文是其中一个,其他方法请看win10 UWP 发邮件 参考 Microsoft Graph 桌面应用程序 - 陈希章 - 博客园 ASP.NET Core

    1.7K30

    UWP 上架失败因为没有添加隐私策略

    在使用 UWP 上架之前需要经过微软审核,在美国很看重个人隐私,因此需要在两个地方都填写上隐私策略。...第一个是应用商店里面,第二个是应用程序里面 如果是个人开发者,推荐是在 github 或 gitee 创建一个叫隐私策略文件,复制这个链接填写在应用商店管理属性上,请看下图 如何写隐私策略请看...win10 uwp 隐私声明 注意修改软件名 然后打开代码,在代码里面添加一个叫 PrivacyPolicyURL 静态属性,将隐私策略放在这个属性,然后写一个文本超链接用于打开 public static...如果此时发现无法上传新包,而在认证里面有附加了联系邮件地址,如文章最后附加微软给我信息,可以看到微软告诉说联系 reportapp@microsoft.com 邮件 可以通过谷歌翻译方式告诉微软大佬说应用已经更新了...为什么图床应用需要写隐私策略,因为访问了 Photos 文件夹和 Documents 文件

    25310

    Windows Developer Day - MSIX and Advanced Installer

    创建后 .appx 文件可以发布到应用商店,就像 UWP 能做一样。...实际操作 在官方下载打开后,可以看到首页操作选项: Desktop Bridge Project -- 可以新建一个项目,把桌面应用转换为 APPX 应用,配置 UWP 应用各种特性; UWP Appx...Studio Manifest 很相似 Resources -- 需要附加资源,还包括注册表操作、文件打开关联、附加程序集等 Package Definition -- 安装包定义,包括默认安装位置...重点看一下应用程序数字签名部分: 为了让转换后 APPX 可以直接在系统安装,需要设置数字签名,这里使用了一个已有的 UWP 应用 PFX 数字签名文件。...Installer 会同时生成 APPX 和 MSI 安装包 APPXDemo.aip -- Advanced Installer 项目文件,可以打开继续编辑 ?

    2K60

    WinUI 3 试玩报告

    Visual Studio 生成第二个项目是一个 Windows 应用程序打包项目,该项目经配置后可将应用生成为适合部署 MSIX 程序包。 也就是说 UWP 项目中用于打包部分被独立出来了。...这个项目还应该是解决方案启动项目。运行这个项目后创建应用会添加到开始菜单,这点也和UWP一样。...“UWP” 太高雅,敢打赌国内有些 UWP 开发(例如我)都不能好好地把 UWP 全称拼出来;“WPF” 好些,但 WPF 含义也让人很疑惑。...WPF 平台占用 70 多% GPU,这大致猜到。UWP 十分流畅,GPU 只占用 WPF 一半,CPU 和 内存都有出色表现,不过还以为会更低。...WinUI 有未来做了好多年 Silverlight 开发,买了5、6部 Windows Phone 手机,写了几十篇 UWP 文章,根据我丰富经验,可以肯定 WinUI 是有未来

    3.1K30

    Windows装逼操作

    在Windows下,除了文字录入,几乎90%操作都可以通过鼠标完成,剩下可能需要键盘配合一下。 但无鼠标操作是Linux系统专利?当然不是!...我们平常在打开一个应用程序时候,通常做法是利用鼠标对该应用程序进行双击。有没像Linux一下通过敲命令方式打开程序?当然是有了,这也是本文主题。 要实现这一目的,需要做三步。...第一步: 在电脑上新建个文件夹,命名随意。这步没人不会吧?敢说不会真佩服你勇气。比如现在在D盘新建了个path文件夹。名称最好是英文,会比较好。...第二步: 打开「环境变量」,在「系统变量」「path」变量把刚刚新建目录添加进去; ? ? 第三步: 在第一步中所建立文件夹中放入程序快捷方式,然后把快捷方式命为你记住名字。...我们只要把常用软件放在path目录,起一个自己记住名字,就可以非常快速打开自己想要程序。而一般人可能还要打开开始菜单,到处找软件。他可能还没找到时候你已经把软件打开好了,瞬间秒杀对方!

    2.1K10

    应用程序清单 Manifest 各种 UAC 权限级别的含义和效果

    阅读本文之前,你可能需要了解如何创建应用程序清单文件。...阅读另一篇博客可以了解: 如何创建应用程序清单文件 App.Manifest,如何创建不带清单应用程序 - 吕毅 各种不同 UAC 清单选项 从默认生成应用程序清单,我们可以很容易知道有四种不同设置...于是对于用户点击打开应用程序,默认就是以标准用户权限运行。 如果已经以管理员权限启动了一个程序,那么这个程序启动子进程也会是管理员权限。...要更好理解这两个概念区别,你可能需要对 UAC 用户账户控制有一个初步了解,可以阅读另一篇博客: Windows UAC 用户账户控制 接下来内容,都假设你已经了解了上文所述 UAC...为什么 UWP 程序不能指定 UAC 清单选项? 在另一篇博客 Windows UAC 用户账户控制 说到了访问令牌。

    72040
    领券