高分求教:VS2005或VS2008中使用VC6编译的DLL的方法 现在公司有个在VC6下开发的系统要移植到VS2005或VS2008环境中, 想要尽量使用之前的资源, 所以想求教高手,怎么才能在VS2005或VS2008中使用VC6编译的DLL呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将dll文件Import进去,和调用API是一样的 using System;using System.Runtime.InteropServices;namespace ConsoleApplication1{ /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { [DllImport("VCdll.dll", EntryPoint="Max")] public static extern int Max(int a,int b); /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // Console.WriteLine(Max(4,5).ToString()); } }}其中vcdll.dll就是一个vc编写的dll,但是你还要把函数入口参数换成C#的 谢谢如此及时的回复,就是不知道,DLL的放置位置有要求么?我在往里面导的时候出错,说什么叫我检查是不是有效的库什么的.蒙了 那个DLL不用向你的项目中的引用里面导入,放在你EXE的同一个目录下就行 dllImport,你要知道那个VC dll里面有哪些接口函数,然后就跟API一样用就行了 哦,原来是这样.我之前使用Dll的时候一直是引用了之后再用如果使用DllImport,应该就像调INI文件那个API一样吧?那是不是得先调查清楚了,这个库里所有的函数和参数列表呢?把全部函数显式声明之后,再用呢?(问的多了,不好意思) 对,你参照下API的调用,是一样的,得知道DLL的导出函数何参数列表 如同使用API函数一样添加对System.Runtime.InteropServices的引用using System.Runtime.InteropServices;然后[DllImport("vc6.dll", EntryPoint="funcs")]public static extern 程序的返回值的类型 funcs(参数);dll放在exe所在的目录下面 webbrowser 提交的问题? C#窗体特效问题 谁讲解一下这段代码》?最好给个例子 js获取textbox文本值的问题 C#中定义结构,结构中也可以定义函数,这个结构类型与“类”很有相似之处呀?是不是完全可以用类来替代呀? 项目->属性->配置属性->生成->允许不安全代码块false改为true 关于TextBox输出 在.Net的代码编辑器里替换代码,比如想把"aa.bb(cc)"替换为"cc.bb()",怎么用正则表达式? .net中的轻量级容器是个什么概念? 关于读取数据库的字符串 应用程序数据存储和读取问题 System.Timers中的timer执行方法时内存不能释放
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
[DllImport("VCdll.dll", EntryPoint="Max")]
public static extern int Max(int a,int b);
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
Console.WriteLine(Max(4,5).ToString());
}
}
}
其中vcdll.dll就是一个vc编写的dll,但是你还要把函数入口参数换成C#的
我在往里面导的时候出错,说什么叫我检查是不是有效的库什么的.蒙了
我之前使用Dll的时候一直是引用了之后再用
如果使用DllImport,应该就像调INI文件那个API一样吧?
那是不是得先调查清楚了,这个库里所有的函数和参数列表呢?
把全部函数显式声明之后,再用呢?(问的多了,不好意思)
添加对System.Runtime.InteropServices的引用
using System.Runtime.InteropServices;
然后
[DllImport("vc6.dll", EntryPoint="funcs")]
public static extern 程序的返回值的类型 funcs(参数);dll放在exe所在的目录下面