随笔分类 -  UWP

Universal Windows Platform
摘要:上一篇我们讨论了UWP和Desktop Extension间的双向通讯,适用于Desktop Extension中存在用户交互的场景。本篇我们讨论最后一种情况,与前者不同的是,Desktop Extension和UWP保持相同的生命周期,同时规避AppServiceConnection可能被Wind 阅读全文
posted @ 2021-03-26 16:12 楼上那个蜀黍 阅读(960) 评论(0) 推荐(2) 编辑
摘要:上一篇我们提到了怎么在Desktop Extension中等待并处理UWP端发出的request。本篇将讨论UWP和Desktop Extension双向交互的场景,即存在从两端各自发出request,交由对方接受处理。依然是回顾之前总结的四个场景分类: 执行后立即退出 等待request,处理完后 阅读全文
posted @ 2020-12-23 15:30 楼上那个蜀黍 阅读(938) 评论(0) 推荐(4) 编辑
摘要:上一篇我们讨论了UWP和Desktop Extension交互中,Desktop Extension执行后立即退出的场景。下图是提到的四种场景分类: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 本篇我们讨论第二种,Desk 阅读全文
posted @ 2020-11-30 23:42 楼上那个蜀黍 阅读(737) 评论(0) 推荐(4) 编辑
摘要:上一篇《2020年的UWP(2)——In Process App Service》中我们了解了UWP和Desktop Extension可以通过AppService进行数据交互。本篇我们就来梳理在不同场景,UWP和Desktop Extension可能存在的交互方式。 对Desktop Extens 阅读全文
posted @ 2020-11-10 21:52 楼上那个蜀黍 阅读(1293) 评论(0) 推荐(3) 编辑
摘要:最早的时候App Service被定义为一种后台服务,类似于极简版的Windows Service。App Service作为Background Task在宿主UWP APP中运行,向其他UWP APP提供服务,可用于UWP APP间通讯及交换数据。 早期的App Service应用场景较为单一, 阅读全文
posted @ 2020-10-21 17:02 楼上那个蜀黍 阅读(1051) 评论(0) 推荐(2) 编辑
摘要:最近在做UWP的项目,在2020年相信这已经是相对小众的技术了,但是在学习的过程中,发现某软这么几年仍然添加了不少的API,开放了相当多的权限。所以打算总结一下最近的一些经验和收获,介绍一下2020年的UWP。之前在《UWP开发入门(25)——通过Radio控制Bluetooth, WiFi》篇中我 阅读全文
posted @ 2020-09-06 14:35 楼上那个蜀黍 阅读(793) 评论(0) 推荐(2) 编辑
摘要:回顾写了许久的UWP开发入门,竟然没有讲过通过Windows.Devices.Radios.Radio来控制Bluetooth和WiFi等功能的开关。也许是因为相关的API设计的简单好用,以至于被我给忽略了。最近工作中有涉及这块的内容,不妨一起来回顾下,顺便看看一些新的发现。 在Windows 10 阅读全文
posted @ 2020-05-31 22:30 楼上那个蜀黍 阅读(1158) 评论(0) 推荐(3) 编辑
摘要:没想到该系列不仅没有太监,还打算更新一个小短篇。在各种大厂小厂工作的各位想必都知道Windows域的概念。入域机器的设置由不得登入所用的域账号,Windows的更新和安全等众多的设置均被锁定,由域管理员掌控。闻道有先后,术业有专攻。域管理员往往不懂软件开发,公司统一的Group Policy设置也不 阅读全文
posted @ 2020-04-06 18:07 楼上那个蜀黍 阅读(490) 评论(0) 推荐(0) 编辑
摘要:Windows10 1809版本开始,微软又对UWP开放了新的Capability:AllowElevation。 通过这个新的Capability,UWP APP能够在运行时向用户请求Admin权限,配合Windows 1607版本就引入的RunFullTrust Capability(参考《迁移 阅读全文
posted @ 2020-02-27 10:33 楼上那个蜀黍 阅读(559) 评论(0) 推荐(1) 编辑
摘要:假设我们现有一个WPF程序,需要支持1903以前的Windows 10版本。同时在1903以后的版本上,额外多出一个Ink的功能。那么我们就可以通过ApiInformation.IsApiContractPresent方法来判断1903的API是否可用,决定要不要开放Ink功能给当前用户。新来的同学 阅读全文
posted @ 2019-12-02 13:41 楼上那个蜀黍 阅读(620) 评论(1) 推荐(1) 编辑
摘要:我们在《迁移桌面程序到MS Store(4)——桌面程序调用Win10 API》提到了对Win10 API的调用,但仍存在无法在WPF中使用UWP控件的问题,虽然都是XAML控件,但却是两套命名空间下的同名类型,无法混用。人总会被现实打败,强大如某软也得向生活低头,UWP一直没有起色,某软的老大又一 阅读全文
posted @ 2019-11-26 17:07 楼上那个蜀黍 阅读(1216) 评论(1) 推荐(6) 编辑
摘要:在传统桌面程序中,对图标的使用大多是直接嵌入JPG或者PNG的图片。在祖传的1366x768分辨率下,并没有什么问题。相对于手机硬件的突飞猛进,也侧面反映了PC行业的落寞和桌面程序开发的不思进取。用360卫士的群众并不能倒推PC行业的升级。反倒是水果公司双高的利润和口碑让人很是眼馋。加之某软跳出来教 阅读全文
posted @ 2019-11-14 17:00 楼上那个蜀黍 阅读(713) 评论(6) 推荐(4) 编辑
摘要:虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列。最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒。 之前的打印对话框差不多长成这样: 而新的Win10风格打印对话框是下图的样子,包括预览图非常的直观。 首先让我们构建一个极简的UWP程 阅读全文
posted @ 2019-10-16 21:43 楼上那个蜀黍 阅读(1189) 评论(2) 推荐(3) 编辑
摘要:首先简单介绍Windows 10 S Mode,Windows在该模式下,只能跑MS Store里的软件,不能通过其他方式安装。好处是安全有保障,杜绝一切国产流氓软件。就像iOS一样,APP进商店都需审核,同时APP在沙盒环境下,以普通用户权限运行,不能偷偷摸摸地干坏事,抢占资源的情况也不会发生,自 阅读全文
posted @ 2019-09-03 18:00 楼上那个蜀黍 阅读(797) 评论(0) 推荐(1) 编辑
摘要:在《迁移桌面程序到MS Store(8)——通过APPX下载Win32Component》中我们讨论了通过APPX来下载Service部分的安装包。但是纯UWP的客户端并不能自动运行下载的exe或者msi文件。本篇将着手解决这个问题。假设我们有如下结构的application,蓝色APPX中包含UW 阅读全文
posted @ 2019-07-02 16:56 楼上那个蜀黍 阅读(1047) 评论(1) 推荐(1) 编辑
摘要:在上一篇《迁移桌面程序到MS Store(7)——APPX + Service》中,我们提到将desktop application拆分成UI Client+Service两部分。其中UI Client可以通过Desktop Bridge技术Pacakage成APPX,上传到MS Store以供下载 阅读全文
posted @ 2019-05-24 16:29 楼上那个蜀黍 阅读(676) 评论(0) 推荐(0) 编辑
摘要:本篇我们以一个Sample工程,来说明如何把一个常见结构的desktop application,转制成APPX并在MS Store提供下载。 之前的篇章中,我们已经介绍了一些内容,包括如何通过Visual Studio创建Packaging工程, 如何将Class Libraries转换到.NET 阅读全文
posted @ 2019-04-01 15:35 楼上那个蜀黍 阅读(940) 评论(1) 推荐(3) 编辑
摘要:上一篇我们简单介绍了.NET Standard,本篇我们来实践.NET Framework 4.5 Class Library到.NET Standard 2.0的转换. 首先让我们来做一些准备工作。 第一步,需要将项目组所有同事的Visual Studio统一升级到2017 15.3版本或更新。( 阅读全文
posted @ 2019-02-19 18:03 楼上那个蜀黍 阅读(613) 评论(1) 推荐(2) 编辑
摘要:接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见、通用性比较强的实施步骤和分层架构。 通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本,然后花很长时间从头来写UWP版本,所以我建议将迁移的过程分阶段,通过几个版本的迭代,慢慢地从传统桌面程序,转变成一个可以 阅读全文
posted @ 2019-01-07 23:37 楼上那个蜀黍 阅读(984) 评论(6) 推荐(3) 编辑
摘要:上一篇我们讨论了如何在转制的桌面程序中,通过StartupTask来实现转制版本的开机自启动。实际操作中,我们通过编辑Packaging工程中的Package.appxmanifest文件,来添加自启动的配置项。如果要在程序的UI中实现开启和关闭自启动的功能。那就需要通过代码来操作StartupTa 阅读全文
posted @ 2018-12-20 17:03 楼上那个蜀黍 阅读(1102) 评论(0) 推荐(3) 编辑