我正试图构建一个类似于微软( Microsoft )最近推出的UI。特别是针对Windows 10操作系统(a la 2016年办公室)的操作系统。
目前我使用WinAPI,但是Windows.h和CommCtrl.h提供的所有控件似乎都是旧的/旧风格的UI元素。我特别寻找标题栏/菜单/状态栏元素(主客户区域将由一个GDI/Direct2D上下文组成,因此没有什么特别的必要)。
我发现了一些指向XAML的信息,但我不认为这是我想要的。WPF似乎是一个更有可能的候选人,但我也不确定是否如此。
我希望这是100%原生的(WinAPI/C&C++),但是如果绝对没有其他选项,我可以在本机代码中使用C#作为UI和存根。
发布于 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等,那么它就被称为。
https://stackoverflow.com/questions/32259496
复制相似问题