AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

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

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

关注

评论

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

YashanDB STRING_AGG函数

YashanDB

数据库

AI 调酒师上岗!接管酒吧吧台

阿里巴巴云原生

最近Vibe Coding的经验总结

Immerse

经验 CODING VibeCodingf Vibe

基于YOLOv8的无人机位置捕捉识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

人工智能

RabbitMQ vs RocketMQ,消息堆积了怎么办?一线解决方案全解析!

我爱娃哈哈😍

RocketMQ 消息队列 消息堆积处理 Rabbit MQ

直播预告:我不是网红,可以 Build in Public 吗?丨RTE Dev Talk

声网

LED广告车屏幕整体解决方案

Dylan

广告业 LED LED display LED显示屏 LED屏幕

通过胜率理解偏好学习的理论与优化方法

qife122

机器学习 胜率优化

AI技术在舆情监测中的创新应用与发展趋势

沃观Wovision

人工智能 AI+ 沃观Wovision 舆情监测系统

YashanDB SUBSTR函数

YashanDB

数据库

想在代码中验证sql的正确性?

量贩潮汐·WholesaleTide

sql

刘立明:以智能制造为方向 推动制造型企业的数字化转型

新消费日报

ECDSA安全漏洞深度解析:从非ce泄露到密钥恢复实战

qife122

密码学 侧信道攻击

AI 调酒师上岗!接管酒吧吧台

阿里云云效

通义灵码

HarmonyOS 5 应用拉起系列(一):应用与元服务互通方式

鸿蒙魔法师

鸿蒙 HarmonyOS ArkTS

EEG-CLIP:通过自然语言描述学习脑电图表征

qife122

脑电图 零样本解码

融媒体平台如何借力海外舆情监测提升国际传播影响力?

沃观Wovision

海外舆情监控 沃观Wovision 舆情监测系统

免费,Qwen3-Coder不限量!

阿里巴巴云原生

阿里云 通义灵码

免费,Qwen3-Coder不限量!

阿里云云效

阿里云 通义灵码

YashanDB V23.4 LTS MySQL兼容性全方位增强

YashanDB

数据库

观测云基于 ToB/ToC 业务可观测最佳实践

观测云

可观测性

YashanDB STRING_TO_ARRAY函数

YashanDB

数据库

YashanDB STRPOS函数

YashanDB

数据库

什么是 Operational Data Hub?它因何而生,又为何能够在当下成为技术共识?

tapdata

实时数据平台 实时数据同步 数据整合架构

YOLOv8手势识别项目实战-石头剪刀布实时检测系统

申公豹

人工智能

基于YOLOv8的多种水果种类识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

人工智能

Doris 性能优化

天翼云开发者社区

数据库 Doris

Airtable 如何用 StarRocks 构建数据验证系统

StarRocks

数据分析 Airtable StarRocks 数据库 大数据 数据储存

消息重复消费+顺序性,分布式消息的终极难题?一线解决方案全解析!

我爱娃哈哈😍

消息队列 重复消费 顺序消费

大数据-58 Kafka 消息发送全流程详解:序列化、分区策略与自定义实现

武子康

Java 大数据 kafka 分布式 消息队列

Terraform Authoring Operations Professional 认证考试经验分享:从备考到实战全攻略

雪雷

Terraform 认证

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