本帖最后由 krislinxue 于 2011-01-10 22:48:08 编辑

解决方案 »

  1.   

    http://topic.csdn.net/u/20091124/21/dabd5228-514e-4c5b-a794-aae11f41dab5.html
      

  2.   

    要在c#里调用vc的方法,需要vc DLLexport 方法
    如:DLLexport int WINAPIV rf_card()
      

  3.   

    用DllImport属性
    DllImport("YourDllName.dll")
    private static extern bool GetSDID(int ref type , StringBuilder sbDestID,int nBufflen,int ref nIDlen);
      

  4.   


    DllImport("GetID.dll")
    private static extern bool GetSDID(ref int type , string szDestID,int nBufflen,ref int nIDlen)
      

  5.   

    [DllImport("GetID.dll")]
     private static extern bool GetSDID(ref int type , StringBuilder szDestID,int nBufflen,ref int nIDlen);const int MAX_PATH = 260;
    int type;
    int nIDlen;
    StringBuilder szDestID = new StringBuilder(MAX_PATH);
    if(GetSDID(ref type, szDestID, MAX_PATH, ref nIDlen)
    {
     Console.WriteLine(szDestID.ToString());
    }
      

  6.   

    c/c++的dll的export GetSDID,外面才能用。
      

  7.   

    加载需要以下步骤:
    1。将dll引进bin文件夹
    2.引用接口库:   
     (1)[DllImportAttribute("GetID.dll", EntryPoint = "CNSA_Login")]
     (2)private static extern int CNSA_Login(int hTask, String lpszServerIP, int nServerPort, String lpszUser, String lpszPwd, String lpszVer, StringBuilder lpszRet, int nBuffLen);
    (看到红字,名字一致即可)
    3.    public static int Login(String lpszServerIP, int nServerPort, String lpszUser, String lpszPwd, String lpszVer, StringBuilder lpszRet, int nBuffLen)
            {
                return CNSA_Login(hTask, lpszServerIP, nServerPort, lpszUser, lpszPwd, lpszVer, lpszRet, nBuffLen);
            }
    这三步走完,引用完毕。
      

  8.   

    DllImport("GetID.dll")
    private static extern bool GetSDID(ref int type , string szDestID,int nBufflen,ref int nIDlen)
      

  9.   

    BOOL GetSDID(ref int type , stringbuilder szDestID,int nBufflen,ref int nIDlen)
    这样试下了.
      

  10.   

    DllImport("GetID.dll")
    private static extern bool GetSDID(ref int type , string szDestID,int nBufflen,ref int nIDlen)