dll动态链接库使用

  1. C#调用dll,复制dll到exe同目录下,通过DllImport引入dll到程序中,具体操作:

    1)引用命名空间:using System.Runtime.InteropServices;

    2)在C#语言源程序中声明外部方法:

    [DllImport("dll名称+后缀")]//如:[DllImport("user32.dll")]
    static extern int MessageBoxA(int hWnd, string msg, string caption, int type);


    DLL文件:包含定义外部方法的库文件。
    修饰符: 访问修饰符,除了abstract以外在声明方法时可以使用的修饰符。
    返回变量类型:在DLL文件中你需调用方法的返回变量类型。
    方法名称:在DLL文件中你需调用方法的名称。
    参数列表:在DLL文件中你需调用方法的列表。
    注意:需要在程序声明中使用System.Runtime.InteropServices命名空间。
        DllImport只能放置在方法声明上。
        DLL文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。
        返回变量类型、方法名称、参数列表一定要与DLL文件中的定义相一致。
 
        若要使用其它函数名,可以使用EntryPoint属性设置,如:
        [DllImport("user32.dll", EntryPoint="MessageBoxA")]
        static extern int MsgBox(int hWnd, string msg, string caption, int type);

详细可参考:
http://www.cnblogs.com/kevin-top/archive/2010/06/04/1751425.html


2.E语言dll生成、调用

1)生成:新建->Windows空白程序->Windows动态链接库->写入子程序,必须是公开的->完成之后静态编译。完成。

2)调用:点击【程序】页签,选中【dll命令】,右键【插入新的dll命令】,出现dll命令引用块:

a.库文件名:必须与dll同名;

b.再苦中对应的命令名:必须与dll中的子程序名一致;

c.参数个数,类型必须一致。

  • 欲调用Dll文件的源码应与Dll文件在同一目录下,否则调用时会出现错误。

  • Dll文件中的子程序要公开。


你可能感兴趣的:(动态链接库,源程序)