⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_33479.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:33479 发表者:不好玩 发表日期:2003-03-20 14:10:02
<br>主题:如何将一个动态链接库(。DLL)加进我的程序中去?
<br>内容:我现要想用动态链库的内容,却不知如何加进程序中去?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:魔刀 回复日期:2003-03-20 14:28:49
<br>内容:typedef void (WINAPI *fn) (long, long);<BR>HINSTANCE hDll;<BR>hDll = LoadLibrary("test.dll");<BR>if(hDll == NULL) return<BR>fn myfunction = (fn)GetProcAddress(hDll, "MyFunction");<BR>if(myfunction == NULL) return;<BR>myfunction(4, 6);<BR>FreeLibrary(hDll);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不好玩 回复日期:2003-03-20 14:48:00
<br>内容: 三、用VC创建DLL<BR>  在VC中创建DLL,与Delphi中的创建过程相似,步骤如下:<BR>  (1)新建一个DLL项目。MFC提供两种类型的动态链接库:常规型DLL、扩展型DLL。其中,常规型DLL适合于非MFC开发环境下采用支持DLL调用的程序设计语言开发的应用程序,扩展型DLL只能被MFC程序使用。<BR>&nbsp;&nbsp; (2)创建该DLL中的过程或函数,只需在程序中加入下列语句:<BR>extern "C" _declspec(dllexport) int yanzheng(CString input,char* zcm){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); file://具体实现过程}<BR> 该函数的功能是验证注册码是否合法,其中yanzheng为函数名,int为函数返回值类型,()内为函数参数。编译通过后即可使用。<BR><BR>  四、 VC中DLL的调用<BR>  在VC中调用动态链接库时,类似于Delphi中运行时调用DLL的方法。也要调用到Windows的API函数LoadLibrary,GetProcAddress等。此方法对于调用其它语言和VC编译的DLL均适用。<BR><BR>  假定DLL中包括一个函数:<BR>int yanzheng(CString input,char* zcm)<BR>  <BR>  首先在欲调用DLL函数的cpp文件前部先声明函数指针,定义函数类型:<BR>typedef int (* _YANZHENG)(CString,char* zcm);<BR><BR>  然后定义如下变量∶<BR>HINSTANCE hLibrary;_YANZHENG yanzheng;<BR><BR>  在调用DLL处加入如下语句进行DLL装载: <BR>hLibrary=LoadLibrary("zcdll.dll");yanzheng=(_YANZHENG)GetProcAddress(hLibrary,"yanzheng");shuchu= (*yanzheng)(shuru,zcm);FreeLibrary(hLibrary);<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -