项目中使用.net开发.需要调用VC6.0写的接口,请问是否可行?

解决方案 »

  1.   

    没问题,在添加引用将dll文件加上
      

  2.   

    你的.NET工程是基于C#,还是VC++的呢?两者调用VC6.0编写的DLL是不一样的!VC++.NET调用起来比较简单,C#调用则需要使用委托。
      

  3.   

    可以象调用api的方式调用vc写的dll中的导出的函数.
    比如:
    [DllImport("testdrv.dll", EntryPoint="?SetDeviceState@@YA_NDH@Z")]
    public static extern bool SetDeviceState(char volume, int state);如果是com组件的话,调用起来更简单.
      

  4.   

    添加引用后:using System.Runtime.InteropServices;[DllImport("XXX.DLL",EntryPoint="GetApiFunction",SetLastError=true)]
    public static extern int GetApiFunction(
        string strParaA,
        StringBuilder strParaB,
        int intParaC,
        out int intParaD,
        bool blnParaE);C++数据类型和C#的部分对应关系:C++           输入输出    C# 
    ==================================
    char chr[255]   O    StringBuilder
    KCA_DIR         I    int
    LPCSTR          I    string
    int             I    int
    LPSTR           O    StringBuilder
    int*            O    out int
    DWORD           I    int
    DWORD*          O    out int
    BOOL            I    bool
    Rc_DBMgr        I    IntPtr
    long*           O    out long