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

标签 c# .net vb.net

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

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

但是我想将函数名称从 WindowFromPoint 更改为 MyFunc。 所以在我的托管代码中我将能够做到:

MyFunc(new POINT());

因为这不是唯一的功能,而且有 100 多个功能,所以我正在寻找一个简单的单行解决方案。

最佳答案

[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);
}

关于c# - 如何在使用 DllImpot 属性时更改托管代码中的函数名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15600475/

相关文章:

C# - 从字符串列表中查找和删除子字符串

c# - 线程同步 : shared resources and actions with different resource number demand

c# - 如何识别 C# 方法中的每个参数类型?

c# - 美化 XmlDocument (.NET) 的最佳方法?

c# - 关于 .Net 中通用字典中引用类型键的快速问题

c# - 为 UNITTESTS 构建配置公开方法

xml - 在 Visual Basic 9 中将一个元素转换为另一个元素的 LINQ 或 XSLT

vb.net - 使用 VB.NET 在两个程序集中定义相同命名空间的解决方法

c# - vb.net web 应用程序和 c# .net webapps 有什么区别

c# - 在 C# 中使用 Excel 双值