代码参考了如下网页的实现:

https://www.cnblogs.com/zy791976083/p/9921069.html

整理成一个函数:

BOOL GetResGifSize(long nResId, LPCTSTR name, long *lnWidth, long *lnHeight)
{
HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(nResId), name);
if (NULL == hRsrc) {
return FALSE;
} DWORD dwSize = SizeofResource(NULL, hRsrc);
HGLOBAL hGlobal = LoadResource(NULL, hRsrc);
if (NULL == hGlobal) {
CloseHandle(hRsrc);
return FALSE;
} unsigned char* pBuffer = (unsigned char*)LockResource(hGlobal);
if (NULL == pBuffer) {
CloseHandle(hRsrc);
FreeResource(hGlobal);
return FALSE;
} //判断是否为GIF文件
if(pBuffer[] != 0x47 && pBuffer[] != 0x49 && pBuffer[] != 0x46 && pBuffer[] != 0x38){
return FALSE;
} //读取宽高
for(int i = ; i < dwSize ; i++)
{
if(pBuffer[i] == 0x00 && pBuffer[i+] == 0x2c)
{
*lnWidth = (pBuffer[i+]<<) | pBuffer[i+];
*lnHeight = (pBuffer[i+]<<) | pBuffer[i+];
UnlockResource(hGlobal);
FreeResource(hGlobal);
return TRUE;
}
} UnlockResource(hGlobal);
FreeResource(hGlobal); return FALSE;
}
05-19 10:26