写点什么

通用 Windows 平台应用程序开始恢复 Win32 功能

  • 2018-04-01
  • 本文字数:1097 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

微软借 Windows 10 推出通用 Windows 平台(Universal Windows Platform,简称 UWP),声称 UWP 将给用户带来很多好处:UWP 应用程序能够运行在任何基于 Windows 10 的平台(桌面、Xbox、HoloLens 或物联网等等)上、现代化的安装器 / 卸载器等。只不过,UWP 应用程序起初缺少 Win32 桌面应用拥有的很多传统功能。因为微软认为,为了给用户更多的安全性,有必要限制开发人员能做的事情。

这种方法带来一个问题,就是用户和开发人员都熟悉传统 Win32 API 提供的功能。自从不限制在 Windows 10 上运行 Win32 应用程序之后,对于很多开发人员来说,更容易继续使用旧平台。这导致微软陷入了困境,因为它希望继续吸引用户使用 Windows 10,同时鼓励开发人员编写 UWP 应用程序。即将推出的Windows 10 1803 版本准备放宽对UWP 应用程序的一些限制。

放宽对文件系统的**** 访问

UWP 应用程序现在可以用两种不同的权限选项来处理本地文件系统。首先,通过声明 AppExecutionAlias 扩展,一个 UWP 应用程序拥有对启动目录(从命令提示符启动时)和所有子目录的访问权限。

或者,一个 UWP 应用程序可以声明 broadFileSystemAccess 功能,然后可以访问用户有权访问的所有文件。请注意,要是在提交给微软应用商店的应用程序中用到这个功能,需要提供附加信息,说明为什么需要这么做以及是如何实现的。

多实例支持

这是 UWP 应用程序的自由选择功能,它允许一个应用程序的每个运行实例在单独的进程中执行。这提供了某种程度上的安全性,某个实例的崩溃不会影响到任何其他实例。

控制台应用程序

现在,UWP 应用程序将能够像传统 Win32 控制台应用程序那样运行。但是,因为它遵循 UWP 准则,所以它可以像任何 UWP 应用程序一样,在 Windows 应用商店发布,并通过一个应用程序图标来启动运行。由于它是一个控制台应用程序,主要是从命令提示符或 PowShell 窗口启动。

有一点要特别注意,当前的 UWP 控制台应用程序必须使用 C++/WinRT 或 /CX。不支持基于.NET 的语言。UWP 控制台应用程序可以从执行它的目录及其全部子目录来访问本地设备的文件系统。它拥有广泛的文件系统访问权限,也可以利用多实例支持。UWP 控制台应用程序受到一些限制,显然地,它们不能在后台运行、可能不能创建窗口、必须应用于桌面或物联网项目。

阅读英文原文 Universal Windows Platform Apps Start to Retrace Win32 Functionality


感谢无明对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-04-01 19:002226
用户头像

发布了 199 篇内容, 共 90.1 次阅读, 收获喜欢 295 次。

关注

评论

发布
暂无评论
发现更多内容

千万级学生管理系统的考试试卷存储方案

AragornYang

架构训练营 架构实战营

群晖(Synology)NAS 后台安装 Docker 后配置 Mariadb / MySQL

HoneyMoose

低代码实现探索(三十四)前台code逻辑

零道云-混合式低代码平台

安全无小事,教你解决密码泄露问题!

老陈

工具 安全 密码泄露

俄罗斯能通过加密货币规避制裁吗?

CECBC

自己动手写Docker系列 -- 3.1构造实现run命令版本的容器

Go Docker

重磅硬核 | 一文聊透对象在JVM中的内存布局,以及内存对齐和压缩指针的原理及应用

bin的技术小屋

JVM 内存 Java虚拟机 false sharing java

中国AI的“底线思维”与安全锁

脑极体

区块链的过去与未来

CECBC

微博评论高性能高可用计算架构

唐尤华

架构实战营

HTTP的成长

Tristan

前端 浏览器 网络 HTTP

群晖(Synology)NAS 安装 Mariadb 数据库启动错误

HoneyMoose

Powershell基础之脚本执行

喀拉峻

网络安全 安全 渗透测试

工业AI落地场景案例实战,飞桨EasyDL让工业更智能

百度大脑

Mac 配置 Flutter 安卓开发环境

岛上码农

flutter ios 安卓 移动开发 3月月更

赋能区域产业,南京、成都双城AI开发者Meetup报名开启

百度大脑

区块链共识,机器说了算还是人说了算?

Akumas

区块链 数字化转型 共识机制 十四五规划

评测有礼 | 飞桨黑客松第二期热身活动上线啦!

百度大脑

面向企业级前端应用的开发框架 UI5 的发展简史介绍

汪子熙

JavaScript 前端开发 前端框架 企业级应用 3月月更

Studio One 5新版本安装包图文教程

茶色酒

Studio One 5 fl水果20.9

千万级学生管理系统的考试试卷存储方案

「架构实战营」

CorelDRAW2022最新订阅版本下载

茶色酒

cdr2022

群晖(Synology)NAS 后台安装 Docker 后配置 Mariadb / MySQL 配置端口

HoneyMoose

当听障人士实现手语自由:手语AI平台的产业狂想

脑极体

【C语言】轻松解决Bug

謓泽

C语言 bug 3月月更

百度Q4财报:百度智能云2021年营收151亿元,同比大增64%

百度大脑

最好用的 6 款 Vue 拖拽组件库推荐 - 卡拉云

蒋川

Vue Vue3 vue cli

两会声音|建议完善数字人民币体系 完善数字货币立法

CECBC

深入理解HTML表格秘籍

喀拉峻

适合新手代码审计之熊海cms

H

网络安全 代码审计

7招!实现安全高效的流水线管理

阿里云云效

云计算 阿里云 运维 云原生 持续交付

通用Windows平台应用程序开始恢复Win32功能_.NET_Jeff Martin_InfoQ精选文章