VC Dll 中的资源 使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC Dll 中的资源 使用相关的知识,希望对你有一定的参考价值。
我在Dll中加入了资源文件,但是在使用此Dll的Exe中却访问不到此资源,何解?
首先创建一个WIN32 DLL工程,不是MFC的DLL,然后创建一个资源文件 *.RC,添加到资源DLL的工程中去。然后添加一个初始化DLL的原文件。#include
extern "C "
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID )
return 1;
这是纯资源DLL所必须需的代码,保存这个文件为*.CPP。编译这个资源DLL。
在应用程序显示的调用这个DLL,使用LoadLibrary函数装入资源DLL,FindResource和LoadResource来装入各种资源,或者使用下列的特定的资源装入函数:
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
当资源使用结束,你的应用程序须调用FreeLibrary函数来释放资源。
下面就讲一下如何调用编写好的资源DLL
首先在应用程序中声明一个DLL的句柄,HINSTANCE m_hLibrary;在OnCreate( )函数中调用LoadLirbrary( ),在OnDestory( )中调用FreeLibrary()。 参考技术A FindResource(GetModuleHandle("xx.dll"), lpName,lpType);
vc中如何将dll件和exe编译成一个exe文件?
我自己写了一个dll,想把它和exe文件编译在一起,形成一个新的exe文件。我在网上查了很久,但都没找到具体的方法。有一种说是将dll作为资源导入到exe中,当运行exe文件的时候,先释放dll资源。希望哪位大侠帮我解决下,越详细越好!
参考技术A 在项目属性中设置就可以,以VS2005为例,如下图选择第二项,就会把MFC的DLL编译到EXE文件中,文件长度增加大约400多K 参考技术B .dll能被.exe文件运行时调用,你得在那个.exe对应的源代码中调用.dll才行的…….exe是编译生成的可执行文件,怎么可以拿它来编译呢……本回答被提问者采纳 参考技术C 那个exe是已生成的?
以上是关于VC Dll 中的资源 使用的主要内容,如果未能解决你的问题,请参考以下文章
用vc对 dll 打包 怎么做??运行的时候 提示找不到 xx.dll 文件