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

\

看新闻很累?看技术新闻更累?试试下载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)关注我们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值