C#使用技巧--调用DLL

转载 2006年05月30日 16:48:00
 
使用C#时不免用调用别的DLL,如WIN32的API和自己以前做的DLL,
C#调用DLL很像VB,下面讨论的C#调用DLL的方式。
看看下面的例子,演示了怎么定义DLL函数接口
public class Utility
{
   [DllImport("kernel32",
EntryPoint=”CreateDirectory”,
CallingConvention=CallingConvention.StdCall]
   public static extern bool Create (string name);
  
   [DllImport("User32"]
EntryPoint=”MessageBox”,
CallingConvention=CallingConvention.StdCall]
   public static extern int MsgBox (string msg);
}
  
class MyClass
{
   public static int Main()
   {
      string myString;
      Console.Write("Enter your message: ");
      myString = Console.ReadLine();
      return Utility.MsgBox(myString);
   }
}
  
值得注意的是,缺省的调用规则(CallingConvention)是Stdcall,同Winapi,在
C++里是__stdcall的形式,函数入口(EntryPoint)缺省是同名,如CreateDirectory
的定义也可以为
   [DllImport("kernel32")]
   static extern bool CreateDirectory(string name, SecurityAttributes sa);
  
WIN32 API原型为
BOOL CreateDirectory(
  LPCTSTR lpPathName,                         // directory name
  LPSECURITY_ATTRIBUTES lpSecurityAttributes  // SD
);
  
在调用WIN32 API时注意那些类型的转换,如结构(struct)、指针(pointer),

有关各种语言之间类型转换和DllImport属性的详细信息可以参考SDK文档 

CSharp调用C++编写的DLL的方法

有的时候想写点东西,但由于文笔不行、技术不行也就没有怎么写。经常是用到什么、学习什么的时候,简单写点,权当是个学习笔记。上博客的次数也很少,有人给我留言也是没有怎么及时的回复,深感抱歉! 在一些特殊...
  • lb8583
  • lb8583
  • 2016年12月03日 09:06
  • 1385

C#使用技巧--调用DLL

C#使用技巧--调用DLL使用C#时不免用调用别的DLL,如WIN32的API和自己以前做的DLL, C#调用DLL很像VB,下面讨论的C#调用DLL的方式。 看看下面的例子,演示了怎么定义DLL函数...
  • Python
  • Python
  • 2006年12月06日 14:15
  • 1295

C#使用技巧--调用DLL

           使用C#时不免用调用别的DLL,如WIN32的API和自己以前做的DLL, C#调用DLL很像VB,下面讨论的C#调用DLL的方式。 看看下面的例子,演示了怎么定义DLL函数接口...
  • jxd_515
  • jxd_515
  • 2006年08月15日 09:48
  • 655

C#调用DLL的几种方法,包括C#调用C\C++\C#DLL

C#中dll调用方法 一、      DLL与应用程序 动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要...
  • AAA123524457
  • AAA123524457
  • 2016年11月20日 17:46
  • 9507

c#调用托管dll

调用方法: 1.项目右键,添加引用,选择你c#写的dll 2.直接通过命名空间.类名.方法,就可以用了,举例:   dll 内容为: using System; using System....
  • zzxian
  • zzxian
  • 2011年09月02日 15:40
  • 1763

C#直接使用DllImport外部Dll的方法

C#.Net调用基本格式: [DLLImport(“DLL文件路径”)] 修饰符 extern 返回值类型 方法名称(参数列表) 如: [DllImport("kernel32.dll", Se...
  • u011981242
  • u011981242
  • 2016年09月22日 14:54
  • 24192

创建Win32 DLL,并在C#里面调用

这是三篇网上收集的技术文章的合集,分别讲解了如何创建Win32 DLL,然后如何在C#里面调用这个DLL的教程。首先是创建Win32 DLL的文章。讲解这个的文章到处都有,这里给出一篇我看过的:htt...
  • tangl_99
  • tangl_99
  • 2006年09月06日 00:40
  • 11782

C#调用易语言写的Dll文件

转自:http://blog.csdn.net/glldc/article/details/7312400 本人是用易语言起步的,起初是为了兴趣,后来由于易语言被杀软误杀严重,连空白...
  • threadroc
  • threadroc
  • 2014年09月16日 20:02
  • 2366

C#中如何调用动态链接库DLL

每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍。首先,您需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX...
  • FJ2010080080026
  • FJ2010080080026
  • 2014年08月30日 16:34
  • 5063

C# 调用C++ DLL 总结

1 方法一: C#项目中,“引用”右键,添加引用,在浏览里面添加C++ DLL库,如果添加成功,你是幸运的,但是成功概率为98%,或者根本不可能。 如果失败会提示:未能添加对“E:\HuangTa...
  • taoerit
  • taoerit
  • 2014年12月22日 22:58
  • 4547
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#使用技巧--调用DLL
举报原因:
原因补充:

(最多只允许输入30个字)