Public Declare Function RnaDial Lib "rnaui.dll" (ByVal hWnd As Long, ByVal hInst As Long, ByVal lpszEntry As String, ByVal lFlag As Long) As Long

解决方案 »

  1.   

    Private Sub Command1_Click()
        On Error GoTo ErrorHandle
        
        Dim l As Long
        l = RnaDial(lhWnd, lhInst, Text1, 1)
        If l Then
            MsgBox "错误: " & l, vbCritical
        End If
        Exit Sub
        
    ErrorHandle:
        MsgBox Err.Description, vbCritical
    End Sub
      

  2.   

    Un1: 你好      为什么总是出错???typedef LONG (CALLBACK *LPRNADIAL)(HWND,HINSTANCE,LPCTSTR,LONG);HINSTANCE  hdll;
    LPRNADIAL  RnaDial;
    LONG      lResult;hdll=AfxLoadLibrary("rnaui.dll");
    if(hdll)
    {
      RnaDial=(LPRNADIAL)GetProcAddress(hdll,"RnaDial");
      if(RnaDial){
          lResult = RnaDial(hwnd, hInst, pText, 1);
          if(lResult)
              AfxMessageBox("error");
        }
      AfxFreeLibrary(hdll);
      

  3.   

    你先用:Public Declare Function RasGetErrorString Lib "rasapi32" Alias "RasGetErrorStringA" ( _
        ByVal uErrorValue As Long, ByVal lpszErrorString As String, ByVal cBufSize As Long) As Long
    Private Function GetErrString(ByVal Number As Long) As String
        
        Dim s As String
        s = String(256, 0)
        
        If RasGetErrorString(Number, s, 255) Then
            s = "未知错误。"
        Else
            s = TrimNull(s)
        End If
        
        GetErrString = s
    End FunctionPrivate Function TrimNull(StrNull As String) As String
        Dim l As Long
        l = InStr(StrNull, vbNullChar)
        If l > 0 Then
            TrimNull = Left$(StrNull, l - 1)
        Else
            TrimNull = StrNull
        End If
    End Function查查是什么错误?
      

  4.   

    到一个能用的RAS控件,千万别用TAPI!切记!!
      

  5.   

    请这样试一试!
    char *dial="rundll32.exe rnaui.dll,RnaDial 中国电信";   
    WinExec(dial,9);  
      

  6.   

    那就是你的 pText 设置不对。