MFC从资源加载文本

bool CWizardSheet::GetTextResource(UINT uID, CString& csContent)
{
    HMODULE hModule=GetModuleHandle(NULL);
    HRSRC hRes = FindResource(hModule,MAKEINTRESOURCE(uID),_T("txt"));
    if(hRes == NULL)
    {
        FreeResource(hRes);
    }
    else
    {
        HGLOBAL hglobal = LoadResource(hModule,hRes);
        if(hglobal == NULL)
        {
            FreeResource(hglobal);
            return false;
        }
        else
        {
            //get text
            csContent.Format(_T("%s"),(LPVOID)hglobal);
        }
    }
    return true;
}

  

bool CWizardSheet::GetResource(UINT uID, CString csType, CString csOutputPath)
{
    CFile file;
    HMODULE hModule=GetModuleHandle(NULL);
    HRSRC hRes = FindResource(hModule,MAKEINTRESOURCE(uID),csType);
    if(hRes == NULL)
    {
        FreeResource(hRes);
    }
    else
    {
        HGLOBAL hglobal = LoadResource(hModule,hRes);
        if(hglobal == NULL)
        {
            FreeResource(hglobal);
            return false;
        }
        else
        {
            //释放文件
            LPBYTE lpByte=(LPBYTE)LockResource(hglobal);
            DWORD dwRcSize=SizeofResource(hModule,hRes);
            file.Open(csOutputPath,CFile::modeCreate | CFile::modeWrite);
            file.Write(lpByte,dwRcSize);
            file.Close();
        }
    }
    return true;
}

  

时间: 2024-10-06 19:36:16

MFC从资源加载文本的相关文章

Webkit资源加载介绍

一.webkit资源分类 webkit中有多种资源,大致分为以下几种: HTML文本 CSS样式文本 - CachedCSSStyleSheet 字体 - CachedFont 图片 - CachedImage 只读资源 - CachedRawResource JavaScript文本 - CachedScript SVG - CachedSVGDocument 视频字幕 - CachedTextTrack XSL样式表 - CachedXSLStyleSheet 类图如下: HTML文本是网页

Unity3d热更新全书-资源加载(一)从AssetBundle说起

Unity3D动态下载资源,有没有解?有,AssetBundle就是通用解,任何一本书都会花大幅篇章来介绍AssetBundle. 我们也来说说AssetBundle 我们试全面的分析一下Unity3D提供的资源加载机制 1.Resources//内嵌资源,使用方法Resources.Load,可以加载任意种类的资源,不能动态修改,卒. 2.StreamingAssets//随包资源,使用方法IO或WWW.Load.WWW.Load可以加载任意种类资源,IO仅限bytes 和 text. 3.W

cocos2dx资源加载机制(同步/异步)

首先cocos2dx里的资源,有png,plist(pvr),exportjson(json)大致这三类,我们也从这3类去研究相应的加载代码. 本次代码分析基于: cocos2dx3.2 1.png png格式的资源,从sprite作为一个切入口来分析,一般Sprite的创建如下 Sprite* Sprite::create(const std::string& filename) 参数filename,是图片资源的路径. 内部调用的initWithFile Sprite *sprite = n

OGEngine学习笔记---资源加载

声音管理兼容各种音频文件格式,比特率和样本率 OGEngine开源引擎兼容各种音频视频文件格式,并且引用了硬件加速技术,来对音频文件进行io读取,简化了资源的加载和读取写入的过程,大幅度减少应用卡顿.无响应的状况出现. 一个背景音乐 多个音效 OGEngine开源引擎在同一时间只能播放一首背景音乐,但是能同时播放多个音效. 首先自定义一个枚举类ConfigData,用来存放背景音乐key和音效key. public class ConfigData { /** 背景音乐*/ public sta

Laya资源加载小记

Laya.Loader负责资源的加载逻辑,被LoaderManager管理. Laya支持多种类型资源加载,也支持自定义类型加载.不同类型的加载方式可能不同. Laya.Loader缓存已经被加载过得资源,减少资源重复加载. 提供清理资源接口,由LoaderManager封装接口. 部分资源加载包含多步加载,如Atlas和Font都包含文本下载和图片下载. 注意:Laya.loader是LoaderManager的实例,是Laya对外的通用加载接口.Laya.Loader由LoaderManag

让我们再聊聊浏览器资源加载优化

让我们再聊聊浏览器资源加载优化 让我们再聊聊浏览器资源加载优化

各浏览器对页面外部资源加载的策略

这个总结来源于一次优化的请求,最初某个页面的加载十分缓慢,load事件迟迟无法触发,因此希望可以通过对静态文件分域名等方式对页面的外部资源进行优化,拿得load事件尽可能早地触发. 于是我查看了页面的源码,并对外部资源进行了整理,基于下面2个理念画出了一个推测的瀑布图: 1.浏览器对同一个域只能并发2个HTTP请求 – 网上盛传已久.2.javascript文件的加载会阻塞浏览器其他资源的加载 – 同样网上盛传已久. 然而,当我看到各浏览器中实际的瀑布图时,我知道自己又犯了一个简单的错误:太过相

Cocos2d-x 3.0多线程异步资源加载

Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版,其引擎驱动核心依旧是一个单线程的"死循环",一旦某一帧遇到了"大活儿",比如Size很大的纹理资源加载或网络IO或大量计算,画面将 不可避免出现卡顿以及响应迟缓的现象.从古老的Win32 GUI编程那时起,Guru们就告诉我们:别阻塞主线程(UI线程),让Worker线程去做那些"大活儿"吧. 手机游戏,即便是休闲类的小游戏,往往也涉及大量纹理资源.音视频资

libgdx学习记录16——资源加载器AssetManager

AssetManager用于对游戏中的资源进行加载.当游戏中资源(图片.背景音乐等)较大时,加载时会需要较长时间,可能会阻塞渲染线程,使用AssetManager可以解决此类问题. 主要优点: 1. 大多数资源加载器AssetLoader都是异步加载,可以避免阻塞渲染线程. 2. 通过引用计数来进行释放资源. 3. 通过一个对象来管理所有其他资源. 主要函数: load(path,type)加载某个路径的资源文件,后面type指定所要加载的资源类型.这个函数只是将资源文件加入到资源队列中,并不会