首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WinAPI中的Windows 10 UI

WinAPI中的Windows 10 UI
EN

Stack Overflow用户
提问于 2015-08-27 21:10:29
回答 1查看 3.2K关注 0票数 1

我正试图构建一个类似于微软( Microsoft )最近推出的UI。特别是针对Windows 10操作系统(a la 2016年办公室)的操作系统。

目前我使用WinAPI,但是Windows.h和CommCtrl.h提供的所有控件似乎都是旧的/旧风格的UI元素。我特别寻找标题栏/菜单/状态栏元素(主客户区域将由一个GDI/Direct2D上下文组成,因此没有什么特别的必要)。

我发现了一些指向XAML的信息,但我不认为这是我想要的。WPF似乎是一个更有可能的候选人,但我也不确定是否如此。

我希望这是100%原生的(WinAPI/C&C++),但是如果绝对没有其他选项,我可以在本机代码中使用C#作为UI和存根。

EN

回答 1

Stack Overflow用户

发布于 2015-08-28 11:48:08

您可以使用XAML和C++、C#或JavaScript来编写Windows (以前是Metro)应用程序。如果您使用C++,应用程序是100%原生的,但是如果您使用C#或JavaScript,当然会使用所需的虚拟机。

您的代码调用的API是WinRT,它看起来像Silverlight。此外,您的应用程序还可以调用一些(但不是全部) Win32 API,这类似于.NET应用程序如何调用Win32 (例如使用P/Invoke)。然而,即使你使用C++并且你的应用程序是100%本地的,它仍然像浏览器一样被沙箱包围。这意味着它不能访问整个磁盘或写入注册表中的HKLM。这是为了安全;Windows应用程序必须是安全的,因此更受限制,就像从苹果AppStore购买的移动应用程序一样。这意味着您不能调用例如CreateFile。上面写着:

支持最低限度的客户端Windows桌面应用程序

当MS像上面提到‘桌面应用’时,他们指的是Win32应用程序。这不包括Windows应用程序。但这是令人困惑的,因为在Win 8/8.1中,这些Windows应用程序是全屏的,但在Windows 10上,它们是可调整大小和重叠的,出现在浏览器和任务管理器( Task )等传统Win32应用程序的旁边。因此,即使它们与桌面应用程序出现在同一个桌面上,它们也不是桌面应用程序。

我相信,如果一个Windows应用程序也针对Windows 10、Windows IoT等,那么它就被称为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32259496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档