你用一个反编译软件,查看这个dll,里面的接口都能看见的

解决方案 »

  1.   

    vss 6.0 有个工具 DEPENDS.EXE
      

  2.   

    vs 6.0 有个工具 DEPENDS.EXE
      

  3.   

    VS.net 里有个引用,引用后看它的类示图,里面有不同的图标。就行了吧?
      

  4.   

    用tlbimp.exe来转换一下生成一个新的DLL看看里面的方法声明就行了
      

  5.   

    TO: will97(飞) 在vs.net里面无法引用。
    TO: minajo21(大眼睛) vs6.0里的工具是插件吗?还是自带的工具,我这里没有vs6.0怎么办?
    TO: flyincs(我想回家……) 有什么好的反编译器,可以看接口的。谢谢!
    TO:hbxtlhx(下着春雨的天)tlbimp.exe是什么工具?哪里可以找到?有使用方法吗?
    十分感谢大家的帮助!
      

  6.   

    int Start(char* sLocalIP, int nLocalPort, char* sPeerIP, int nPeerPort, char* sLoginName, char* sLoginPwd, int nConnType, char* sSrcNum, void (*PDeliver)(DeliverStr  deliver), void (*PReport)(ReportStr report), void (*PResponse)(MTRespStr  response), void (*PMTError)(MTErrorStr mterror), int nConnCount = 3)
    这样的接口函数我用C#该怎样调用呢?
      

  7.   

    你在一个类中声明这些函数:把所有的char *,改为string
      

  8.   

    我是这样调用的!
    public delegate void PDeliver(DeliverStr deliver);
    public delegate void PReport(ReportStr report);
    public delegate void PResponse(MTRespStr response);
    public delegate void PMTError(MTErrorStr mterror); public static void a_PDeliver(DeliverStr deliver)
    {
    MessageBox.Show(deliver.sMsgContent);
    }
    public static void a_PReport(ReportStr report)
    {
    MessageBox.Show("Report");
    }
    public static void a_PResponse(MTRespStr response)
    {
    MessageBox.Show("Response");
    }
    public static void a_PMTError(MTErrorStr mterror)
    {
    MessageBox.Show("MTError");
    }
    [DllImport("SGIP.dll")]
    public static extern int Startup(
    out string sLocalIP, 
    int nLocalPort,
    out string sPeerIP, 
    int nPeerPort,
    out string sLoginName,
    out string sLoginPwd, 
    int nConnType, 
    out string sSrcNum, 
    PDeliver a_PDeliver,
    PReport a_PReport,
    PResponse a_PResponse,
    PMTError a_PMTError
        //int nConnCount
    ); /// <summary>
    /// Startup调用函数
    /// </summary>
    public static int startup
    (string a_sLocalIP, 
    int a_nLocalPort,
    string a_sPeerIP, 
    int a_nPeerPort,
    string a_sLoginName,
    string a_sLoginPwd, 
    int a_nConnType, 
    string a_sSrcNum
    int a_nConnCount
    )
    {
    PDeliver a=new PDeliver(a_PDeliver);
                PReport b=new PReport(a_PReport);
                PResponse c=new PResponse(a_PResponse);
                PMTError d=new PMTError(a_PMTError);
    int res=Startup
    (out a_sLocalIP, 
        a_nLocalPort,
        out a_sPeerIP, 
        a_nPeerPort,
            out a_sLoginName,
        out a_sLoginPwd, 
        a_nConnType, 
        out a_sSrcNum, 
    a,
    b,
    c,
    d
    a_nConnCount
    );
    return(res);
    }但是始终说找不到Start的函数入口!不知道怎么回事,大家看看我的调用有没有什么问题?
      

  9.   

    DEPENDS.EXE 应该可以吧.
      

  10.   

    使用了depends.exe也看不出函数入口!
      

  11.   

    有人吗?帮帮忙教教小弟怎样调用这个dll吧!
      

  12.   

    有些反编译器,但是不可能提供太完美的接口信息。这个和.net差别很大。你还是仔细找一下相关的文档比较有价值。