用LoadBitmap装载图片,那hInst如何得到
编号:QA003928
建立日期: 2001年2月26日 最后修改日期:2001年2月26日
所属类别:
杨志勇:
操作系统: win nt4
编程工具: vc 6.0
问题: 我在试着编写屏幕保护程序时,如何才能实现屏保是图片?如用LoadBitmap装载图片,那hInst如何得到?
水平: 刚入门
回答:
下面分MFC和SDK两种方式讨论你的问题。
1、如果采用MFC方式,可以使用 AfxGetResourceHandle保存当前的资源文件句柄,即你说的hInst。也可以使用AfxSetResourceHandle设置资源DLL的句柄,如:
hDll=LoadLibrary("ResourceDLL.dll");
if(hDll==NULL)
AfxMessageBox("Can't Load the library");
else AfxMessageBox("success");
AfxSetResourceHandle(hDLL);
...
}
这样以后你再使用LoadBitmap时,图片将来自你的资源DLL,而不是.exe文件。如果你在程序中还要使用.exe中的资源,你需要在 AfxSetResourceHandle之前,先使用 AfxGetResourceHandle保存当前的资源文件句柄。
2、SDK方式。在WinMain中,第一个参数都是HINSTANCE。你也可以LoadLibrary获得的句柄。
我估计你要从硬盘上读取图片,可以参考QA000913 "如何打开、读入、显示和保存BMP文件"、QA002959 "TC中如何编程装入并显示一幅BMP,PCX,JPG等位图图象"。
此问题由李海回答。
| |
|
|
| |
|
|