首页
社区
课程
招聘
[求助]如何导出自己的vs2008资源(代码模式)
发表于: 2013-9-24 15:58 6318

[求助]如何导出自己的vs2008资源(代码模式)

2013-9-24 15:58
6318
我把自己写好的sys文件,导入到我的mfc资源上面。我想让mfc被打开的时候才自动释放,请问该用什么命令?例如我的sys文件ID是:IDD_SYS1。用代码模式。。。怎么写
谢谢,求高手帮忙,我在百度搜导出资源怎么弄都弄不好。我是vs2008

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
loadResource.  findResource
2013-9-24 16:01
0
雪    币: 244
活跃值: (121)
能力值: ( LV6,RANK:85 )
在线值:
发帖
回帖
粉丝
3
直接给代码
     
HINSTANCE instance = AfxGetInstanceHandle();

        //定位我们的自定义资源,这里因为我们是从本模块定位资源,所以将句柄简单地置为NULL即可
        HRSRC hRsrc = FindResource(instance, MAKEINTRESOURCE(res_id), TEXT("Dll"));
        if (NULL == hRsrc)
                return FALSE;

        //获取资源的大小
        DWORD dwSize = SizeofResource(instance, hRsrc);
        if (0 == dwSize)
                return FALSE;

        //加载资源
        HGLOBAL hGlobal = LoadResource(instance, hRsrc);
        if (NULL == hGlobal)
                return FALSE;

        //锁定资源
        LPVOID pBuffer = LockResource(hGlobal);
        if (NULL == pBuffer)
                return FALSE;

        FILE * f = fopen("写出文件的路径",wb");
        if (f == NULL)
                return FALSE;
               
        fwrite(pBuffer,1,dwSize,f);

        fclose(f);
2013-9-24 16:15
0
雪    币: 18
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
BOOL _ReleaseRes(LPCTSTR strFileName,WORD wResID,LPCTSTR strFileType)   
{   
	// 查找资源文件中、加载资源到内存、得到资源大小   
    HRSRC   hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);
	if (hrsc == NULL)
	{
		return FALSE;
	}
    HGLOBAL hG = LoadResource(NULL, hrsc);
	if (hG == NULL){
		return FALSE;
	}
    DWORD dwSize = SizeofResource(NULL,  hrsc);
	// 创建文件   
    HANDLE  hFile = CreateFile( strFileName, 
								GENERIC_WRITE,
								FILE_SHARE_WRITE,
								NULL,   
								CREATE_ALWAYS,
								FILE_ATTRIBUTE_NORMAL,
								NULL);   
    if ( hFile == INVALID_HANDLE_VALUE )
	{   
        return FALSE;
    }
    // 写入文件   
    DWORD dwWrite = 0;
    if(!WriteFile(hFile,hG,dwSize,&dwWrite,NULL))
	{
		CloseHandle(hFile); 
		return FALSE;
	}      
    CloseHandle(hFile);   
    return TRUE;   
}
2013-9-24 19:10
0
游客
登录 | 注册 方可回帖
返回
//