有一个C++写的DLL名字叫“CloupApp”
如何在C# winform动态调用C++编写的DLL的“CloupApp”?是动态调用,不是静态。

解决方案 »

  1.   


    IntPtr hModule = LoadLibrary(dllName);
    IntPtr funcAddr = GetProcAddress(hModule, funcName);
    Delegate func = Marshal.GetDelegateForFunctionPointer(funcAddr, funcType);
    func.DynamicInvoke( param );
    FreeLibrary(hModule);
      

  2.   

    用LoadLibrary和GetProcAddress参考:
    Late binding on native DLLs with C#
    http://www.codeproject.com/KB/cs/dyninvok.aspx
      

  3.   

    2楼的方法可行,但这是调用win32API实现的,不知道C#里有没有提供动态调用dll的机制
      

  4.   


    暂时没看到funcType的定义。
      

  5.   


    不一定是系统API,可以Load任何C/C++ 的DLL