CreateStreamOnHGlobal
时间: 2024-01-21 17:02:25 浏览: 48
CreateStreamOnHGlobal是一个Windows API函数,它可以创建一个基于内存的IStream接口实例。这个函数通常用于将内存中的数据转换为IStream对象,以便在其他函数中使用。它的参数是一个指向HGLOBAL类型的内存句柄的指针,以及一个指向IStream接口的指针。这个函数返回HRESULT类型的值,用于指示操作是否成功。
相关问题
c++ gdi+ 根据 资源id 创建 png图片 对象
在 C++ 中,可以使用 GDI+ 库来加载和处理图像。要根据资源 ID 创建 PNG 图像对象,可以使用以下代码:
```c++
#include <Gdiplus.h>
#pragma comment(lib,"gdiplus.lib")
// 加载资源文件
HMODULE hModule = GetModuleHandle(NULL);
HRSRC hRes = FindResource(hModule, MAKEINTRESOURCE(IDB_PNG1), L"PNG");
DWORD size = SizeofResource(hModule, hRes);
HGLOBAL resData = LoadResource(hModule, hRes);
LPVOID resPtr = LockResource(resData);
// 使用 GDI+ 创建图像对象
Gdiplus::Bitmap* bmp = NULL;
IStream* istream = NULL;
CreateStreamOnHGlobal(NULL, TRUE, &istream);
istream->Write(resPtr, size, NULL);
delete[] resPtr;
Gdiplus::Status status = Gdiplus::Bitmap::FromStream(istream, &bmp);
// 释放资源
istream->Release();
FreeResource(resData);
// 检查是否成功创建图片对象
if (status != Gdiplus::Ok || bmp == NULL) {
return NULL;
}
// 在这里可以使用 bmp 对象进行绘制等操作
// 释放图片对象
delete bmp;
```
这里,我们首先使用 `FindResource` 和 `LoadResource` 函数加载了一个资源文件,这里的 `IDB_PNG1` 是资源文件的 ID,`L"PNG"` 是资源文件类型。然后,我们使用 `CreateStreamOnHGlobal` 函数创建了一个内存流,并将资源文件的数据写入内存流中。接着,使用 `Gdiplus::Bitmap::FromStream` 函数从内存流中加载图像对象。最后,检查是否成功创建了图像对象,如果成功,就可以使用 `bmp` 对象进行绘制等操作。最后,需要释放资源。
希望这可以帮助到你。如果你有任何问题,请随时提问。
多媒体时钟在wince使用
多媒体时钟在WinCE(Windows CE)操作系统上的使用非常简单和方便。WinCE是微软的嵌入式操作系统,其特点是轻量级和高度可定制化,适用于嵌入式系统和移动设备。
首先,要在WinCE上使用多媒体时钟,需要在应用程序中包含相应的库文件。这些库文件为开发人员提供了操作多媒体时钟的接口和函数。
通过多媒体时钟,用户可以实现精确的计时和定时操作。例如,可以设置一个闹钟并在指定的时间触发提醒功能。另外,多媒体时钟还可以用于控制多媒体播放,比如音频或视频的播放进度、暂停和停止。
在WinCE中,通过调用多媒体时钟的函数,开发人员可以实现各种功能。例如,使用"timeSetEvent"函数设置定时器,通过指定定时器的周期和回调函数来执行某些任务。还可以使用"PlaySound"函数播放音频文件,"CreateStreamOnHGlobal"函数创建一个流以便播放视频等。
多媒体时钟的使用还可以结合消息队列,实现事件触发和响应。当时钟事件发生时,系统会发送一个消息到消息队列,应用程序可以捕获并做出相应的处理。
总之,多媒体时钟在WinCE上的使用非常灵活和强大。它可以用于各种应用,包括计时、定时、提醒、多媒体播放等。开发人员只需利用相关的库文件和函数,就可以轻松地实现这些功能,为用户提供更好的使用体验。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)