zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    C++运算符优先级
    UNREFERENCED_PARAMETER
    Eclipse无法查看源码 提示source not found
    JAVAWEB dbutils执行sql命令并遍历结果集时不能查到内容的原因
    JAVAWEB和数据库 Mysql连接不上的原因及解决方案
    电子设备 Kindle如何删除书籍或漫画
    JAVA StringUtils需要导入的包
    JAVAWEB servlet和jsp的权限访问控制
    JAVAWEB servlet验证登录时进行完全的非空判断防止空值登录
    JAVAWEB 遍历mysql结果集时 字段为0、false、null的问题
  • 原文地址:https://www.cnblogs.com/bedfly/p/12071830.html
Copyright © 2011-2022 走看看