0
点赞
收藏
分享

微信扫一扫

【VC】从资源文件中获取字符串并写入缓冲区


李国帅 于2011年编辑

原始用途:在程序启动时,把格式化翻译资源调入内存,然后保存到map中,方便制作多语言版本程序。

HMODULE hInst = NULL;

HRSRC hResource = ::FindResource(hInst, MAKEINTRESOURCE(IDR_TRANSFERRESOURCE), RT_HTML);

if (!hResource)

return ;

DWORD imageSize = ::SizeofResource(hInst, hResource);

if (!imageSize)

return ;

const void* pResourceData = ::LockResource(::LoadResource(hInst, hResource));

if (!pResourceData)

return ;

bool bRet = false;

HGLOBAL m_hBuffer;

m_hBuffer = ::GlobalAlloc(GMEM_MOVEABLE, imageSize);

if (m_hBuffer)

{

void* pBuffer = ::GlobalLock(m_hBuffer);

if (pBuffer)

{

CopyMemory(pBuffer, pResourceData, imageSize);

ofstream out("test", ios::out | ios::binary);

out.write((const char *)pBuffer,imageSize);//把字符串str1全部写到yyy.yyy中

out.close();

::GlobalUnlock(m_hBuffer);

}

::GlobalFree(m_hBuffer);

m_hBuffer = NULL;

}

举报

相关推荐

0 条评论