Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows VC++;Metro风格的应用程序窗口_Windows_Visual C++_Mfc_Microsoft Metro - Fatal编程技术网

Windows VC++;Metro风格的应用程序窗口

Windows VC++;Metro风格的应用程序窗口,windows,visual-c++,mfc,microsoft-metro,Windows,Visual C++,Mfc,Microsoft Metro,我有一个十年前的MFC VC++桌面应用程序。该应用程序的美妙之处在于它可以从Windows 2000到Windows 7,使用超过15种语言。它在winsocket的基础上使用IPC和SSL进行多线程处理 最近我读到win Windows 8 Metro style我们将无法运行现有的应用程序。这是否意味着Windows正在走向消灭VC++或MFC 我是否有可能为所有windows版本保留相同的代码库?我有winsock和MFC的替代API吗?必须用HTML5编写应用程序吗 地铁风格是关于用户

我有一个十年前的MFC VC++桌面应用程序。该应用程序的美妙之处在于它可以从Windows 2000到Windows 7,使用超过15种语言。它在winsocket的基础上使用IPC和SSL进行多线程处理

最近我读到win Windows 8 Metro style我们将无法运行现有的应用程序。这是否意味着Windows正在走向消灭VC++或MFC


我是否有可能为所有windows版本保留相同的代码库?我有winsock和MFC的替代API吗?必须用HTML5编写应用程序吗

地铁风格是关于用户体验和不同的UI布局。如果你想在你的应用程序中使用metro风格的UI,那么你需要在你的应用程序周围写一个WinRT包装器来利用它。这并不意味着你的应用程序根本不会在Windows 8中运行,所有leagacy应用程序仍然在Windows 8中运行

最近我读到一篇文章,说我们将无法赢得Windows8 Metro风格 运行现有应用程序的步骤

我发现,从整体角度思考问题更容易。基于ARM的Windows 8系统将只支持WinRT程序。基于x86的Windows 8系统能够同时运行WinRT程序和现有的Win32程序

所有Metro风格的应用程序都是WinRT应用程序,这意味着(或者可能是一种假设?)。当然WinRT是用于建筑的。我可以想象构建类似Metro应用程序的传统Win32应用程序——大方形活动磁贴、延伸到可见桌面左右的应用程序表面等等。我不确定这些应用程序是否真的会被视为“Metro风格”应用程序,即使它们是以与Metro应用程序相同的风格构建的

现有应用程序不会在基于ARM的Windows 8系统上运行,也不会在基于x86的Windows 8系统的非桌面部分运行。它们将在基于x86的Windows系统的桌面部分运行。这是Visual Studio运行的地方,也是PhotoShop可能运行的地方,也是当前在Windows 7上运行的所有程序运行的地方

这是否意味着Windows正在走向消灭VC++或MFC

绝对不是。MFC应用程序将在基于x86的系统上的Windows8桌面环境中正常运行。MFC应用程序不会在基于ARM的Windows 8系统上运行,但也有很多地方MFC应用程序不会运行

对于VC++,如果你想构建Metro风格的应用程序,你只需要遵循Metro“风格”

是否有可能为所有窗口保留相同的代码库 版本

这取决于“所有windows版本”的含义。今天在基于Windows 7 x86的系统上运行的代码明天将在基于Windows 8 x86的系统上运行。如果这是您的目标市场,那么您就完成了,您不需要更改代码。你唯一没有的就是一个活动的磁贴。但是你可以使用Metro风格的API构建一个活动的互动程序,并将其绑定到你的应用程序逻辑中(如果有意义的话)

如果您希望支持基于ARM的Windows 8系统以及基于x86的系统,或者如果您希望所有程序在基于x86的系统上运行时都具有Metro外观,那么您必须将程序更改为使用HTML/CSS或XAML和WinRT API,而不是MFC和Win32 API

或者,如果你想要两个世界,也许你甚至可以将你的程序逻辑从UI中分离出来,然后围绕这个通用逻辑构建一个MFC皮肤和一个Metro皮肤

我有winsock和MFC的替代API吗

对于网络,有一个可以从JavaScript、Visual Basic、C++和C++使用的网络。用于构建用户界面,您可以使用,也可以使用

如果符合您的需要,您也可以继续使用MFC。你可能永远也不会构建一个Metro风格的应用程序,它有一个带有选项卡式UI的界面

Metro应用程序不会在低于Windows 8的任何系统上运行。事实上,你甚至不能在低于Windows8的任何平台上构建Metro应用程序。但是,是的,“传统”Win32和.Net应用程序可以在Windows 8上运行(有某些限制:例如驱动程序兼容性或安全问题)。PS:出于所有意图和目的,MFC早就去世了;)