首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#使用DllExport实现DllMain

C#使用DllExport实现DllMain
EN

Stack Overflow用户
提问于 2016-10-08 21:36:40
回答 1查看 2K关注 0票数 1

我正在使用RobertGiesecke的UnmanagedExports

我想导出DllMain入口点。

下面是我尝试过的

代码语言:javascript
复制
[DllExport("DllMain", CallingConvention.StdCall)]
public static bool DllMain(IntPtr hModule, uint dwReason, byte[] lpReserved)
{ 
  // I Write a text to file here
  return true; 
}

然后我调用LoadLibrary,但是什么也没有发生。有什么解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2016-10-20 00:53:26

万岁,我找到了一种使用静态构造函数的方法。

只需将包含导出的类设为静态,然后添加静态方法。

代码语言:javascript
复制
public static class Class1
{
    static Class1()
    {
        Console.WriteLine("DLL MAIN (Only DLL_PROCESS_ATTACH) :D");
    }

    [DllExport("AddFunc", CallingConvention.Cdecl)]
    public static int AddFunc(int a, int b)
    {
        return a + b + 1;
    }
}

调用AddFunc时,程序先调用Class1(仅一次),下一次调用AddFunc

不管怎么说,对于DLL_PROCESS_DETACH?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39933033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档