2017-08-14 27 views
1

我使用CImage类横跨问题就来了,这是MFC的一部分“这一类及其成员不能在在Windows运行时执行应用程序中使用”未声明的标识符。MSDN:</p> <pre><code>void SaveBmp(HBITMAP handle, CString name) { CImage image; image.Attach(handle); image.Save(name,ImageFormatBMP); } </code></pre> <p>符号<code>ImageFormatBMP</code>是:

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

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

有人可以请给我解释一下这个(可笑IMO)音符的意思?

除了Windows应用程序之外,还有哪些地方可以使用这个类?

谢谢。

回答

5

Windows运行时(WinRT)是可用于应用程序的特殊运行时。本文只是告诉你,如果你开发一个应用程序在WinRT下运行,这个类是不可用的。维基百科

引用:

Windows运行时(WinRT的),是一个与平台无关的应用程序 架构首先在Windows 8和Windows Server 2012在 2012 WinRT的引入支持C++/CX发展(成分扩展,基于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头文件和相应的名称空间。

+0

太好了,谢谢。任何想法如何我可以解决实际的编译错误? – goodvibration

+1

更改了我的答案 – xMRi

相关问题