如何在使用DllImpot属性时更改托管代码中的函数名称

本文关键字:托管代码 函数 属性 DllImpot | 更新日期: 2023-09-27 18:05:38

我想这样调用一个外部函数

[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(POINT Point);

然而,我想将功能名称从WindowFromPoint更改为MyFunc。在我的托管代码中,我可以这样做:

MyFunc(new POINT());

因为这不是唯一的函数,有超过100个函数,我正在寻找一个简单的一行解决方案。

如何在使用DllImpot属性时更改托管代码中的函数名称

[DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "WindowFromPoint")]
static extern IntPtr MyFunc(POINT Point);

我相信这是可行的。

或者,无论出于何种原因,您需要保留该名称,您可以尝试这样做:

[MethodImplAttribute(MethodImplOptions.AggressiveInlining)] 
public static IntPtr MyFunc(POINT Point)
{
    return WindowFromPoint(Point);
}