@@@=========VC++.NET中怎样引用动态连接库?
如题
多说几种方法啊
问题点数:20、回复次数:6Top
1 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-03 06:28:55 得分 10
如果你写.NET托管程序就在解决方案里找到项目节点,财找到项目下的引用节点,右键添加这个DLL就可以了.但这个DLL一定要是在.NET里能使用的.如果不能受.NET直接支持,可以像调用API一样来调用这个DLL里的方法.
如果是MFC程序,这个好像,大部分非托管的DLL里的函数,像user32这样的,都可以直接在项目里使用了,如果要引用静态库比如lib就在配置属性->链接器->输入->附加依赖项目添加就可以了.
如果在MFC程序里调用.NET下的DLL,这个问题可能就不好做了.相当于托管和非托和混合编程了.Top
2 楼chuanke((C ) 2005【空间代数】. All rights reserved .)回复于 2004-12-03 12:13:56 得分 2
添加引用即可Top
3 楼mulintaomulintao()回复于 2004-12-03 13:05:21 得分 0
各位老大。能不能说的具体一点?
我的动态连接库是非托管代码,怎么样直接引用?
to hbxtlhx(下着春雨的天) : 即使动态连接库,也有lib 文件啊,怎么引用啊?
Top
4 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-03 14:30:17 得分 6
你这样试试:
[System::Runtime::InteropServices::DllImport("user32.dll")]
static int FindWindow(String *strclassName, String *strWindowName);
[System::Runtime::InteropServices::DllImport("user32.dll")]
static bool SetWindowText(IntPtr hWnd, String *lpString );
这样是动态的调用,如果在附加依赖项里添加了LIB文件则是静态的调用了.那样可能要有头文件才行.Top
5 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-03 14:32:42 得分 2
上面有点错.
.NET的托管程序就是在引用节点添加引用,如果是非托管的DLL就像这样调用:
[System::Runtime::InteropServices::DllImport("user32.dll")]
static int FindWindow(String *strclassName, String *strWindowName);
[System::Runtime::InteropServices::DllImport("user32.dll")]
static bool SetWindowText(IntPtr hWnd, String *lpString );
如果是非托管的程序可能一定要有头文件.Top
6 楼mulintaomulintao()回复于 2004-12-03 21:46:22 得分 0
搞懂了,非托管的要用头文件,并且附加依赖项里添加了LIB文件
谢谢各位Top




