当前位置:编程学习 > C#/ASP.NET >>

高分急求C# 编写人家可以调用的DLL和调用人家的DLL问题

用VS2010的集成环境,C#编写了一个WINDOWS窗体应用程序,现在需要向外传递这个应用中的某个信息,同时也要接收外部提供的初始值。初步设想是在这个C#窗体应用程序中编写一个函数,生成某个DLL,别人调用这个DLL中的相关函数得到我的数据。同时,别人也提供一个DLL给我,我调用中间的函数得到我要的初始值。现在请问:
1. C#如何编写这样的可以供外部调用的标准DLL
2. C#集成环境中如何使用别人提供的标准DLL中的函数

我是菜鸟,示例代码越详细越好 --------------------编程问答-------------------- ///装入动态库
/// lpFileName为DLL 文件名
/// 返回: 函数库模块的句柄
[DllImport("kernel32.dll")]
static extern IntPtr LoadLibrary(string lpFileName);

--------------------编程问答-------------------- ///装入动态库
/// lpFileName为DLL 文件名
/// 返回: 函数库模块的句柄
[DllImport("kernel32.dll")]
static extern IntPtr LoadLibrary(string lpFileName);
--------------------编程问答-------------------- 1. C#如何编写这样的可以供外部调用的标准DLL

自己写一个项目类型为类库的项目就可以给别人使用了 --------------------编程问答--------------------
引用 3 楼 xuexiaodong2009 的回复:
1. C#如何编写这样的可以供外部调用的标准DLL

自己写一个项目类型为类库的项目就可以给别人使用了

++ --------------------编程问答-------------------- 添加引用进来,或用反编译工具。 --------------------编程问答-------------------- 自己写一个类库,生成DLL文件引用就行了 --------------------编程问答-------------------- 如果对方的DLL也是.NET托管代码编译的话可以用反射机制调用对方函数,你自己的DLL里注意函数为public就行。
如果对方不是.NET托管的话,你可以通过1楼说的API函数调用函数,但是对方来调用你的托管DLL的话可参考下:
http://wenku.baidu.com/view/a2b92edb50e2524de5187eac.html
http://bbs.pediy.com/showthread.php?t=63906 --------------------编程问答-------------------- 注册下dll,命令行中输入regsvr32 name.dll --------------------编程问答-------------------- 1.面向对象和使用接口:一个类应能包含另一个类的实例,而不管它们使用的是什么语言,用一种语言编写的类能继承另一个语言编写的类。

2.com组件:com是一个二进制标准,允许组件实例化其他组件,调用它们的方法和属性,而无需考虑编写相关组件的语言。但是实现这个功能的话,每个对象都必须通过COM运行库来实例化,通过接口来访问。
以上是我的所提的一些建议,至于能不能实现你自己摸索吧,因为我也没去试过。

--------------------编程问答-------------------- 我是在一个WINDOWS应用中,提供一定的数据给别人,也就是这个WINDOWS应用中的某个函数给别人调用,如何实现呢? --------------------编程问答-------------------- 如果仅仅是传值的话,通过写个文件传就可以了 --------------------编程问答-------------------- 同意楼上,如果数据结构不复杂,甚至可以写进注册表 --------------------编程问答-------------------- 1. C#如何编写这样的可以供外部调用的标准DLL?
答:
C#不能编写标准的Dll,C#编写的任何东西都需要dotnet framework支持的。
就是说你可以使用C#编写dll,但必须有dotnet环境才能运行。
而且别人使用非dotnet工具想使用你的dll是相当费劲的。
2. C#集成环境中如何使用别人提供的标准DLL中的函数
答:
使用dllImport导入的方式,或者引入windowsAPI类库,动态导入。 --------------------编程问答-------------------- 如果仅仅是要进行简单的文字通讯,可以使用windows消息。
双方约定好消息格式和消息内容即可 --------------------编程问答-------------------- 1、自己工程里面引用别人的dll,可以使用对外公开里面的方法及函数了。


2、
自己写一个标准的类库,对外公开接口(方法及函数),生成DLL文件
其它地方引用该dll,就可以使用里面的方法及函数了。 --------------------编程问答-------------------- 创建C#的类库项目,在这个项目中,如何设定哪个函数是输出的,给人家用的呢? --------------------编程问答-------------------- c#创建一个类库项目就可以了啊,编译就生成dll了,用的时候添加引用即可。 --------------------编程问答-------------------- C#只是创建一个类库嘛,在这个类库中有N个函数,你总得要告诉人家哪个函数是EXPORT给人家用的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,