C#调用dll
来源:互联网 发布:dw php代码格式化 编辑:程序博客网 时间:2024/06/05 14:59
使用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文档
可能直接调用,不用转
- C#调用DLL方法
- C#中调用DLL
- C# 中调用DLL
- c#调用外部dll
- c#调用dll
- C#中调用dll
- c# 调用dll文件
- C#中调用DLL
- c#调用DLL
- c#调用DLL
- C#调用dll
- C#调用dll方法
- PB7调用C# dll
- 如何调用C# DLL
- C#调用dll
- c#调用DLL
- PHP 调用 C# dll
- C# 中调用DLL
- Java应用程序添加退出事件响应 (关闭虚拟机而不是程序-system.exit)
- Preprocessor Operators(#、#@、##)
- 最简单的Ajax,Ajax入门
- Thinkpad x61 重装系统后修复一键恢复 (转)
- 开山篇-------kuix中文教程
- C#调用dll
- Android在中国崛起,Google未必是赢家
- 微软WP7再遭抛弃,惠普证实手机将用WebOS
- 装饰者模式
- ICMP TYPE CODE 对应表
- HDU 1399(搜索题,暴力- -!)
- Linux Kernel 2.6.35rc6 新特性
- KUIX教程概览
- 跤王