[DllImport("kernel32.dll")]
这叫引入kernel32.dll这个动态连接库。
这个动态连接库里面包含了很多WindowsAPI函数,如果你想使用这面的函数,就需要这么引入。举个例子:
[DllImport("kernel32.dll")]
private static extern void 函数名(参数,[参数]);
函数名就是一个属于kernel32.dll里的一个函数。完了你就可以用那个函数了。
kernel32.dll调用kernel32.dll这个DLL里面的API接口!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先调用这个方法之前,你需要确保你已经添加了引用命名空间:
System.Runtime.InteropServices
然后 你只需要在方法外部 调用你需要引用的dll文件即可。
一般步骤:首先,在C#语言源程序中声明外部方法,其基本形式是:
[DLLImport(“DLL文件”)]
修饰符 extern 返回变量类型 方法名称 (参数列表)
其中: DLL文件:包含定义外部方法的库文件。 修饰符: 访问修饰符,除了abstract以外在声明方法时可以使用的修饰符。 返回变量类型:在DLL文件中你需调用方法的返回变量类型。 方法名称:在DLL文件中你需调用方法的名称。 参数列表:在DLL文件中你需调用方法的列表。
[DLLImport("Iphlpapi.dll")]
private static unsafe extern int SendARP(Int32 dest,Int32 host,ref IntPtr mac,ref IntPtr length);
注意:
DLL文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。
DllImport只能放置在方法声明上。
返回变量类型、方法名称、参数列表一定要与DLL文件中的定义相一致。
————————————————
版权声明:本文为CSDN博主「JustGoingToDo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lihao199611287011/article/details/82837719
最新文章
- URL_MODEL 2 不能访问 在APACHE服务器上的访问方式上去除index.php
- 据说每个大牛、小牛都应该有自己的库——DOM处理续
- [Eclipse]解决: Eclipse Maven “Add Dependency”搜索无结果
- C#的pictureBox怎样使用多张图片简单切换
- CentOS 6.4 32位系统 LAMP(Apache+MySQL+PHP)安装步骤
- 【C++基础】 类中static private public protected
- [ImportNew]Java线程面试题
- linux shell编程学习笔记(一)---通配符,元字符
- 解决Qt5使用SSL的“qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method”错误
- buffer busy waits
- JavaScript onConflict 处理
- 公众号的秘密,知道一个biz就够了
- js判断手机的类型
- 求第i个小的元素 时间复杂度O(n)
- c++学习笔记4,调用派生类的顺序构造和析构函数(一个)
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- 45_redux_comment应用_redux版本_异步功能
- android开发——Android开发中的47个小知识
- mybatis源码分析(三)------------映射文件的解析
- MYSQL性能优化(3)
热门文章
- C语言入门第十章----结构体
- 洗牌利器——random.shuffle()函数
- CF908D 【New Year and Arbitrary Arrangement】
- SpringBoot下配置Druid
- Python压缩文件/文件夹
- 为spring boot 写的Controller中的rest接口配置swagger
- Linux centosVMware Linux集群架构LVS DR模式搭建、keepalived + LVS
- [经验] Java 使用 netty 框架, 向 Unity 客户端的 C# 实现通信 [1]
- 嵊州普及Day6T3
- 以及Hibernate和Mybatis区别