c#

c#dllimport 如何调用外部库函数

小樊
132
2024-07-15 15:43:37
栏目: 编程语言

在C#中,可以使用DllImport属性来调用外部库函数。首先,需要在C#代码中声明外部库函数的签名,并使用DllImport属性指定外部库的路径和函数名称。然后,就可以像调用本地函数一样调用外部库函数了。

以下是一个简单的示例代码,演示如何使用DllImport属性调用外部库函数:

using System;
using System.Runtime.InteropServices;

public class Program
{
    [DllImport("kernel32.dll", SetLastError = true)]
    public static extern IntPtr GetModuleHandle(string lpModuleName);

    public static void Main()
    {
        IntPtr moduleHandle = GetModuleHandle("kernel32.dll");
        Console.WriteLine("Module handle: " + moduleHandle);
    }
}

在上面的示例中,我们声明了一个外部库函数GetModuleHandle,并使用DllImport属性指定了kernel32.dll库的路径和函数名。然后在Main方法中调用这个外部库函数,获取kernel32.dll库的模块句柄并输出到控制台。

需要注意的是,如果要调用的外部库函数是C++编写的,可能需要使用extern "C"来声明函数的导出方式,以避免名称修饰导致找不到函数的问题。

0
看了该问题的人还看了