MSDN:"此类及其成员不能在Windows运行时中执行的应用程序中使用"

时间:2017-08-14 09:15:36

标签: mfc msdn

我遇到了使用CImage类的问题,该类是MFC的一部分:

void SaveBmp(HBITMAP handle, CString name)
{
    CImage image;
    image.Attach(handle);
    image.Save(name,ImageFormatBMP);
}

符号ImageFormatBMP是未声明的标识符。

我进入了MSDN section for the CImage class,在页面顶部看到了这个奇怪的音符:

This class and its members cannot be used in
applications that execute in the Windows Runtime.

有人可以向我解释这个(荒谬的IMO)注释的含义吗?

除了Windows应用程序之外,还可以使用此类吗?

谢谢。

1 个答案:

答案 0 :(得分:5)

Windows运行时(WinRT)是一个可用于应用程序的特殊运行时。本说明只是告诉您,如果开发一个在WinRT下运行的应用程序,则此类不可用。

来自维基百科的引用:

  

Windows运行时(WinRT)是一个与平台无关的应用程序   架构首先在Windows 8和Windows Server 2012中引入   WinRT支持C ++ / CX(Component Extensions,一种基于C ++的语言),JavaScript-TypeScript和托管代码的开发   语言C#和Visual Basic .NET(VB.NET)。 WinRT应用程序   本机支持x86和ARM处理器,并在内部运行   沙箱环境,以提供更大的安全性和稳定性。 WinRT的   组件设计具有多个之间的互操作性   语言和API,包括本机,托管和脚本   语言。

https://en.wikipedia.org/wiki/Windows_Runtime

此外,ImageFormatBMP是GDIPlus的一部分,但不是CImage类的一部分。因此,使用它需要使用包含GDIplus的gdiplus头和相应的命名空间。