写点什么

通用 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:001966
用户头像

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

关注

评论

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

iOS 面试策略之经验之谈-面向协议的编程

iOSer

ios swift 面试 面向协议protocol编程 面向协议编程

探索专有领域的端到端ASR解决之道

华为云开发者联盟

端到端 ASR 自动语音识别 语境偏移 专有领域

“零信任产业标准工作组”再度升级,持续促进国内零信任产业的协同发展

再不解决延迟不当,小心你的内存被打爆

华为云开发者联盟

线程 延迟 内存 并发 Sleep

屏幕共享的实现与应用

anyRTC开发者

音视频 WebRTC RTC sdk

iOS 面试策略之经验之谈- App的测试和上架

iOSer

ios 面试 app上架 app测试

农产品区块链溯源平台建设解决方案,健全食品安全体系

源中瑞-龙先生

区块链 溯源 食品安全

助力秋招第二弹:Java并发编程知识梳理

北游学Java

Java 面试 秋招

强劲性能释放释放:联想消费新品笔记本震撼发布

E科讯

☕【JVM 技术之旅】攻克技术盲点之“JVM常量池们“

洛神灬殇

JVM 5月日更 字符串常量池 静态常量池 运行时常量池

5G掀起工业互联网浪潮,水泥厂智能管理模式收效颇丰

一只数据鲸鱼

数据可视化 工业互联网 智慧工厂 水泥厂 智能工厂

全新F1洞察精彩亮相,帮你理解赛道上的瞬间决定!

亚马逊云科技 (Amazon Web Services)

NUCLEO-L432KC实现ADC配置(STM32L432KC)

不脱发的程序猿

嵌入式 单片机 NUCLEO-L432KC STM32L432KC 光敏电阻传感器

提高建模效率:自动化机器学习之贝叶斯优化综述

索信达控股

机器学习 自动化 金融科技 贝叶斯公式 产品建模

iOS面试大全从面试的准备和流程到算法和数据结构以及计算机基础知识

iOSer

ios 面试 面向协议protocol编程 iOS 知识体系

不同数据库模式下DATE类型的行为解析

华为云开发者联盟

MySQL oracle GaussDB(DWS) TD DATE类型

将模型转为NNIE框架支持的wk模型第一步:tensorflow->caffe

华为云开发者联盟

tensorflow caffe NNIE框架 wk模型 mxnet

详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)

阿里云CloudImagine

阿里云 WebRTC 3A算法 音频技术 视频云

手把手带你体验 Amazon Graviton2 的高性价比!文末有惊喜

亚马逊云科技 (Amazon Web Services)

打造生态“朋友圈”,英特尔以生态之道培育AI创新“大气候”

E科讯

字节、美团等客户与华为联合创新DCI智能控制器,共筑互联网基础设施新生态

一文通关苦涩难懂的Java泛型

程序猿阿星

泛型 java基础 Java泛型

Django 之路由篇

若尘

django Python编程 路由 5月日更

GitHub开源的10个超棒后台管理面板

不脱发的程序猿

GitHub 开源 后台管理面板

详解RS232、RS485、RS422、串口和握手

不脱发的程序猿

串口 通信总线 RS232、RS485、RS422 握手通信

阿里P9架构师力荐:Java面试必刷的17套一线大厂真题(含答案)

Java架构追梦

Java 阿里巴巴 架构 腾讯 面试

☕【JVM 技术之旅】深入JVM原理分析synchronized

洛神灬殇

synchronized 重量级锁 5月日更 同步锁 ObjectMontior

驾云驭能,云科技点燃制造创新之旅!

亚马逊云科技 (Amazon Web Services)

iOS 面试策略之经验之谈-架构的选择

iOSer

ios 架构

强化基于位置的4种营销策略

郑州埃文科技

IP 营销 ISP

Cilium 1.10 重磅发布!】支持 Wireguard, BGP, Egress IP 网关, XDP 负载均衡, 阿里云集成

公众号:云原生Serverless

云原生 cilium cni

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