写点什么

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

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

关注

评论

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

010 Editor for Mac(文本和十六进制编辑器)

Mac相关知识分享

Mac软件

工业4.0时代,如何提升工业生产中的异常检测准确性和效益?

Altair RapidMiner

机器学习 数据分析 制造业 异常监控 数据检测

6月28日PolarDB开源社区长沙站,NineData联合创始人周振兴将带来《数据库DevOps最佳实践》主题分享

NineData

数据库 DevOps polarDB NineData 周振兴

低代码开发:数字孪生城市,引领未来城市智慧新纪元

EquatorCoco

低代码 数字孪生

4K Image Compressor Pro for Mac(4K图片压缩优化工具)

Mac相关知识分享

图片压缩软件

TG Pro for mac(Mac硬件温度检测工具) v2.89版

Mac相关知识分享

Mac软件 mac下载

GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了

我再BUG界嘎嘎乱杀

Python 编程 入门 开发语言 零基础

1688商品详情API返回值全面剖析:阿里巴巴中国站数据驱动的库存管理

技术冰糖葫芦

api 网关 API Explorer api 货币化 API 文档

基于阿里云 OpenAPI 插件,让 Grafana 轻松实现云上数据可视化

阿里巴巴云原生

阿里云 云原生 Grafana

玩转数据库索引

快乐非自愿限量之名

数据库 JVM 索引

​​给【AI硬件】创业者的论文、开源项目和产品整理

奇绩创坛

人工智能 创业 资料 大模型 AI硬件

【论文速读】|MEDFUZZ:探索大语言模型在医学问题回答中的鲁棒性

云起无垠

AI降本新选择,火山引擎第三代云服务器全面升级!

新消费日报

低代码:释放企业创新力的钥匙

高端章鱼哥

【YashanDB知识库】YAS-00220, utf8 sequence is wrong

YashanDB

yashandb 崖山数据库

【YashanDB知识库】YAS-00103 no free block in dictionary cache

YashanDB

yashandb 崖山数据库

BWB 是什么以及未来走势分析

加密眼界

MATLAB R2023b for Mac(数值计算和科学编程软件)

Mac相关知识分享

科学计算软件

【YashanDB知识库】YAC修改参数后关闭数据库夯住

YashanDB

低代码开发平台:人人都可以开发应用

不在线第一只蜗牛

低代码

新Bios更新 !保持出厂游戏性能!

E科讯

大模型应用开发实战营第 5 期 - 毕业总结

铁血杰克

2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输

福大大架构师每日一题

福大大架构师每日一题

SD-WAN在海外网络加速中的应用和优势

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

Carbon Copy Cloner for Mac(磁盘克隆/同步/备份软件)

Mac相关知识分享

Mac软件 磁盘软件

MYSQL中怎么查询LONGBLOB类型数据的大小

不在线第一只蜗牛

MySQL 数据库 sql

低代码开发平台赋能智慧警务管理:创新引领下的安全新篇章

快乐非自愿限量之名

低代码 智慧警务平台搭建 智慧警务

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