主题:windows xp下pppoe拨号程序的问题
qqqaaa
[专家分:0] 发布于 2007-08-04 09:10:00
我想在windows xp下实现一个pppoe的拨号程序 但不知道从哪下手
在网上搜了一下 也没找到什么有用的东西
不知道哪位大哥有这方面的资料
[em10]
回复列表 (共1个回复)
沙发
undeadbird [专家分:2570] 发布于 2007-08-27 01:22:00
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...
我来回复