MFC--把dll加载到资源中
来源:互联网 发布:dijkstra算法 poj 编辑:程序博客网 时间:2024/05/17 23:46
一、释放资源dll到根目录下,再加载
1、添加完资源dll后,在代码里从资源中提取dll文件并隐藏,代码如下:
/**@Name: ReleaseResFile@Brief 释放资源文件@Param: WORD wResID资源ID@Param: LPCTSTR szResType资源类型@Param: LPCTSTR szFileName释放后的文件名称@Return: 成功TRUE,释放FALSE*/BOOL ReleaseResFile(WORD wResID, LPCTSTR szResType, LPCTSTR szFileName){if (szResType == NULL || szFileName == NULL)return FALSE;// 创建文件 DWORD dwShareMode = FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE;HANDLE hFile = CreateFile(szFileName, GENERIC_WRITE, dwShareMode, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);if (hFile == INVALID_HANDLE_VALUE)return FALSE;HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), szResType);// 查找资源HGLOBAL hG = LoadResource(NULL, hrsc);// 加载资源DWORD dwSize = SizeofResource(NULL, hrsc);// 获取资源大小if (dwSize <= 0)return FALSE;// 写入文件 DWORD dwWrite = 0;WriteFile(hFile, hG, dwSize, &dwWrite, NULL);CloseHandle(hFile);// 隐藏文件CFileStatus fs;CFile::GetStatus(szFileName, fs);fs.m_attribute = 0x22;CFile::SetStatus(szFileName, fs);return dwWrite > 0;}2、对话框构造函数里,加载dll
LoadLibrary();
3、在对话框销毁时,释放dll,删除dll(DestroyWindow)
FreeLibrary();DeleteFile();
二、从资源中加载非MFC的dll文件
实例下载地址:http://download.csdn.net/detail/wyansai/9604057
三、从资源或内存中加载各种dll
0 0
- MFC--把dll加载到资源中
- MFC加载纯资源DLL
- MFC中加载位图资源到窗口中
- Delphi从应用程序资源中直接执行dll(不用先把dll存到磁盘上)
- MFC DLL中加载图标
- MFC 从资源中直接加载文本文件,资源释放到文件
- DLL动态库中调用MFC资源
- 把对于MFC的对话框资源移植到新的工程中(包括代码)
- 加载英文资源DLL时应该在主工程里面讲MFC的使用设置为:在共享DLL中使用MFC
- 从内存资源中加载DLL 模拟PE加载器
- 把flash加载到jsp页面中
- MFC菜单资源ID加载到对话框上
- 资源MFC DLL的制作[在DLL中封装MFC对话框]
- 资源MFC DLL的制作[在DLL中封装MFC对话框]
- 分析在MFC正规dll中使用资源的方法
- MFC的规则DLL中资源使用的问题
- 分析在MFC正规dll中使用资源的方法
- MFC加载图片资源
- LightOJ 1265
- Java注解
- PHP数据类型转换
- INFORMATICA学习之路-0-入门前
- 相对路径与绝对路径(一半原创)
- MFC--把dll加载到资源中
- Python快速学习第六天
- HDU 5584 LCM Walk 数学
- Linux进程线程学习笔记:进程创建
- FFMPEG采集摄像头数据并切片为iPhone的HTTP Stream流 (HLS)
- CSS圣杯布局实例
- C/C++中extern关键字详解
- iOS 应用开发中的断点续传实践总结
- CodeForces 701B Cells Not Under Attack 思维题