回 帖 发 新 帖 刷新版面

主题:windows xp下pppoe拨号程序的问题

我想在windows xp下实现一个pppoe的拨号程序 但不知道从哪下手

在网上搜了一下 也没找到什么有用的东西 

不知道哪位大哥有这方面的资料 

[em10]

回复列表 (共1个回复)

沙发

void   CDialprocDlg::SetupDialupCombo()   
    {       
          m_DialCombo.ResetContent();   
          //m_DialCombo是对话框中Combox控件的命名   
          DWORD   n;   
          DWORD   dwSize=0;   
      //枚举出本地电脑中的所有拨号连接。   
        DWORD   ret=RasEnumEntries(NULL,   NULL,   NULL,   &dwSize,&n);   
          n=dwSize/sizeof(RASENTRYNAME);   
        RASENTRYNAME   *entry=new   RASENTRYNAME[n];   
        if(entry){ 
  
                entry[0].dwSize=sizeof(RASENTRYNAME);   
                DWORD   ret=RasEnumEntries(NULL,   NULL,   entry,   &dwSize,&n);   
                for   (DWORD   i=0;i〈n;i++)     
              {   
                    m_DialCombo.AddString(entry[i].szEntryName);     
              }   
            delete[] entry;   
                }   
    }
     
    
  void   CDialprocDlg::OnConnectbutton()     
  {     
  CWaitCursor   wait;   
  RASDIALPARAMS   params;   
  memset(¶ms,   '\0',   sizeof(params));     
  params.dwSize="sizeof(params);" 
  
  m_DialCombo.GetWindowText(params.szEntryName,sizeof(params.szEntryName)-1); 
    
  strcpy(params.szPhoneNumber,"");     
  m_UserId.GetWindowText(params.szUserName,   sizeof(params.szUserName)-1);     
  m_PasswordEdit.GetWindowText(params.szPassword,sizeof(params.szPassword)-1);   //m_UserId   和m_PasswordEdit是对话框中两个Edit控件的命名     
  HRASCONN   handle;   //指定的拨号连接。     
  if(RasDial(NULL,   NULL,   ¶ms,   NULL,   NULL,   &handle)=="0")     
  {   
    MessageBox("已联接,如果按“确定”就会切断电话");   
  }     
  else   
  {   
    MessageBox("正在拨打的计算机没有应答,稍后请再试"); 
    
  }   
  wait.Restore();   
  RasHangUp(handle);   
  } 
    
  void   CDialprocDlg::OnSelchangeDialupCombo()     
  {   
  RASDIALPARAMS   params;   
  memset(¶ms,   '\0',sizeof(params));   
   params.dwSize="sizeof(RASDIALPARAMS);
   int   sel="m_DialCombo.GetCurSel();"     
  if (sel>=0)  {   
              m_DialCombo.GetLBText(sel,params.szEntryName);   
              TRACE("%s\n",params.szEntryName);   
              BOOL   p;   
              RasGetEntryDialParams(NULL,   ¶ms,   &p);   
              m_UserId.SetWindowText(params.szUserName);   
              m_PasswordEdit.SetWindowText(params.szPassword);   
          }     
  }

   
  BOOL   CDialprocDlg::OnInitDialog()   
  {
  CDialog::OnInitDialog();   
  SetupDialupCombo();   
  return   TRUE;     //   return   TRUE   
      unless   you   set   the   focus   to   a   control   
  }
更详细的内容自己网上查查资料或msdn...

我来回复

您尚未登录,请登录后再回复。点此登录或注册