vc将资源文件写到磁盘
来源:互联网 发布:linux 文件传输命令 编辑:程序博客网 时间:2024/05/17 06:03
exe里的:
BOOL Res2File(LPCTSTR lpName,LPCTSTR lpType,LPCTSTR filename)
{
HINSTANCE hInstance=GetModuleHandle(NULL);
if (NULL == hInstance)
{
MessageBox(NULL,L"hInstance is null",L"Hahaha......",MB_OK);
}
HRSRC hRes = ::FindResource(hInstance,lpName,lpType);
if(hRes == NULL) MessageBox(NULL,L"hRes is null",L"Hahaha......",MB_OK);
HGLOBAL gl = ::LoadResource(NULL,hRes);
if(gl == NULL) MessageBox(NULL,L"gl is null",L"Hahaha......",MB_OK);
LPVOID lp = ::LockResource(gl);
if(lp == NULL) MessageBox(NULL,L"lp is null",L"Hahaha......",MB_OK);
HANDLE fp = ::CreateFile(filename,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if(fp == INVALID_HANDLE_VALUE)
{
if(lp == NULL) MessageBox(NULL,L"fp is null",L"Hahaha......",MB_OK);
return FALSE;
}
DWORD a;
if (!::WriteFile(fp,lp,SizeofResource(NULL,hRes),&a,NULL))
{
if(lp == NULL) MessageBox(NULL,L"w err",L"Hahaha......",MB_OK);
return FALSE;
}
CloseHandle(fp);
FreeResource(gl);
return a;
}
调用示例: Res2File(MAKEINTRESOURCE(IDR_EXE1),L"EXE",L"./you.exe");
dll里的:
extern "C" BOOL _declspec(dllexport) Res2File(LPCTSTR filename);
extern HMODULE g_ThisModule;//在DllMain 函数里赋值 g_ThisModule = hModule;
/*extern "C"*/ BOOL /*_declspec(dllexport)*/ Res2File(LPCTSTR lpName,LPCTSTR lpType,LPCTSTR filename)
{
HINSTANCE hInstance=GetModuleHandle(NULL);
if (g_ThisModule == NULL||NULL == hInstance)
{
return FALSE;
}
HRSRC hRes = ::FindResource(g_ThisModule,lpName,lpType);
if(hRes == NULL)
{
return FALSE;
}
HGLOBAL gl = ::LoadResource(g_ThisModule,hRes);
if(gl == NULL)
return FALSE;
LPVOID lp = ::LockResource(gl);
if(lp == NULL)
return FALSE;
HANDLE fp = ::CreateFile(filename,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if(fp == INVALID_HANDLE_VALUE)
{
return FALSE;
}
DWORD a;
if (!::WriteFile(fp,lp,SizeofResource(g_ThisModule,hRes),&a,NULL))
{
return FALSE;
}
CloseHandle(fp);
FreeResource(gl);
return a;
}
extern "C" BOOL _declspec(dllexport) Res2File( LPCTSTR filename)
{
WCHAR * tt=MAKEINTRESOURCE(IDR_EXE1);
return Res2File(tt,L"EXE",filename);
}
- vc将资源文件写到磁盘
- 将资源写入磁盘文件
- vc资源中的DLL,保存到磁盘
- 如何将资源的声音文件写到磁盘指定的位置
- 如何使用文件字节输出流(FileOutputStream)将数据写到磁盘文件中
- 如何使用文件字节输出流(FileOutputStream)将数据写到磁盘文件中
- vc 枚举磁盘,在磁盘里写文件的操作
- VC释放资源到文件
- Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘
- Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘
- Linux sync --强制将内存中的文件缓冲内容写到磁盘
- 实现异步写文件到磁盘
- 文件缓冲内容写到磁盘
- VS2005的VC编程无法将GIF文件加入到资源文件的解决办法.
- 写数据到文件,并同步写到磁盘
- 将NSLog写到文件
- 我使用过的Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘
- 将读取到的文件流写入到磁盘上
- Myeclipse的各种错误解析
- S3C2416 Linux2.6.21 驱动移植--添加UART3 及波特率设置bug消除
- 内存映射文件
- 国外大学课程资源
- 正则表达式到底是什么东西??
- vc将资源文件写到磁盘
- [知识分享] LINQ TO SQL 实现无限递归查询
- WIN7虚拟无线路由
- 为zenoss服务器部署ldap环境
- visual studio 2010 ..\vc\bin\rcdll.dll 无法找到资源编译器DLL
- Linux FTP命令详解及使用技巧
- 10台PC 2亿数据量任意查询不到0.3秒, 插入 650万条数据仅用时 3分钟
- jsp解决网页只能由专一的浏览器访问
- Objective-C中一种消息处理方法performSelector: withObject: