C++.Net 下加载dll

Greg_han 2011-07-20 02:02:51
我制作了一个dll文件,不知道如何加载到C++.Net窗体开发环境下。
#using <myDLL.dll>
在项目属性中选择 通用属性,再选择添加新引用,根据路径找到我的myDLL.dll。此时点击
“添加新引用”,弹出错误:未能添加对文件 C:\User\zhang\myDLL.dll的引用,因为它不是.Net程序集或已注册的ActiveX

请问如何在C++.net下添加dll,能不能像C#添加dll一样简单?真不希望是vc6.0 的方式添加引用,太麻烦啦。
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
potterguo 2011-07-30
  • 打赏
  • 举报
回复
如提示:因为它不是.Net程序集或已注册的ActiveX,所以不能直接添加引用。
方法如前面几楼所说,下面是动态调用的例子:
//动态调用avicap32.DLL中的capCreateCaptureWindow方法
hDllInst = LoadLibrary(L"avicap32.DLL"); //加载动态链接库
if(hDllInst)
{
typedef DWORD (WINAPI *MyFun)(DWORD,DWORD);
MyFun capCreateCapture = NULL; //capCreateCaptureWindowA Alias 函数别名
capCreateCapture = (MyFun)GetProcAddress(hDllInstall,"capCreateCaptureWindowA"); //capCreateCaptureWindowA 在DLL中声明的函数名
if(capCreateCapture)
{
hWindow = capCreateCaptureWindowA((char *)lpszWinName, WS_CHILD | WS_VISIBLE, Left, Top, Width, Height, ControlPtr, 0);
......
neuodpo 2011-07-29
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/815065/zh-cn/
旋风 2011-07-29
  • 打赏
  • 举报
回复
加载的方法跟vc6.0一样,别的方法我就不知道了。。。
旋风 2011-07-29
  • 打赏
  • 举报
回复
有动态加载和静态加载,如果是自己写的DLL,用静太加载比较方便
lan19900512 2011-07-25
  • 打赏
  • 举报
回复
顶楼上的。就是动态调用啦。GetProcAddress(HINSTANCE hInstance,字符串)
无趣 2011-07-25
  • 打赏
  • 举报
回复
c++下直接LoadLibrary("*.dll"),用完FreeLibrary()即可。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧