2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

图像识别大揭秘:从安防到自动驾驶,视觉模型如何重塑世界

测吧(北京)科技有限公司

测试

什么是原生IP?

Ogcloud

IP 海外原生IP 海外IP 海外IP代理 海外静态IP

开源for Huawei,Beam适配GaussDB实践案例分享

华为云开发者联盟

Beam GaussDB Java’ #数据库 #开源

技术干货丨OptiStruct 非线性之前车门下沉分析

Altair RapidMiner

汽车 制造 仿真 sheji altair

比特币市场震荡:回调背后的机遇与挑战

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

启用Linux防火墙日志记录和分析功能

运维有小邓

IT自动化运维 linux日志管理 防火墙日志管理

Hume 语音模型 OCTAVE:实现情感语音合成、声音克隆和多角色对话生成;通义开源多模态说话人识别项目 3D-Speaker

RTE开发者社区

开发一个DApp项目:DeFi、DApp开发与公链DApp开发

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

告别传统FAQ,天润融通如何通过AI优化员工服务体验?

天润融通

和鲸科技荣获 2024 全国人工智能应用场景创新挑战赛二等奖,赋能“学科+AI”人才培养与实验室建设

ModelWhale

人工智能 大数据 AI

矩阵起源荣膺"2024AI最佳实践案例"------多模态AI数据智能平台,让您的数据成就您的AI

MatrixOrigin

数据库 AI InfoQ 技术创新 MatrixOrigin

【YashanDB知识库】启动数据库时报错:YAS-02059 control file version 0.2.64 is incompatible with YashanDB version 0.2.65

YashanDB

数据库 yashandb

测试人生 | 手工转测试开发成功秘籍揭秘:从裁员到入职18k+,收获4个Offer,道阻且长不怯步

测吧(北京)科技有限公司

测试

什么是企业组网?企业组网的重要性解析

Ogcloud

组网 企业组网 企业网络 公司网络

阿里P8面试官重磅首发2025年Java岗春招面试总结!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

今日分享 | 新增任务交互秘籍

inBuilder低代码平台

设计 UX 交互设计

天润融通解决方案:大模型让SOP执行监管更智能

天润融通

JVM简介—垃圾回收器和内存分配策略

不在线第一只蜗牛

Python JVM

金融领域研发效能的特性有哪些?拓展边界是什么?

思码逸研发效能

研发效能 金融科技 研发效能度量 研发效能管理 思码逸

鸿蒙元服务审核上的一些思考

flfljh

一文了解多云原生的现代化实时数仓 SelectDB Cloud

SelectDB

云计算 数据仓库 云原生 云数据库 SelectDB

京东科技基于 Apache SeaTunnel 探索复杂场景适配

白鲸开源

Clickhouse 数据同步 数据集成 Apache SeaTunnel 京东科技

【YashanDB知识库】如何解决共享集群部署遇到报错:YAS-05721 invalid input parameter, reason: node name invalid.

YashanDB

数据库

英特尔IEDM 2024大晒封装、晶体管、互连等领域技术突破

E科讯

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