我的机器是通过ADSL上网的,我想了解怎样
写拨号上网代码?有资料吗?
写拨号上网代码?有资料吗?
解决方案 »
- 请问下,如何获取注册表操作函数返回错误产生的错误码
- libxml2怎么解析xml文档
- 基于FormView的单文档框架使用了CSplitterWnd后怎么让各FormView中的控件随CSplitterWnd的拖动而改变大小?
- 长整型和16进制的转换发送问题,急,多谢
- 程序编译成DEBUG错,而编译成RELEASE一切正常?
- 一个小问题,代码很小,不知为何编译通不过....解决后马上结贴......
- 有没有什么API函数可以获得键盘或鼠标无输入的时间?
- 怎么打开有密码的数据库
- IOCP 非阻塞socket的WSASend问题
- 急问:哪种表格控件(Activex)最好?
- vc利用管道读取dos命令输出问题
- “CATID_SafeForInitializing”: 未声明的标识符 如何解决???
http://www.pudn.com/downloads148/sourcecode/multimedia/ip_phone/detail641221.html
[email protected]
{
// TODO: Add extra validation here
UpdateData(); GetDlgItem(IDOK)->EnableWindow(FALSE);
GetDlgItem(IDC_COMBO_CONNECT_ENTRIES)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_USERNAME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(FALSE);
TCHAR lpszEntry[256];
GetDlgItemText(IDC_COMBO_CONNECT_ENTRIES, lpszEntry, 255); RASDIALPARAMS RasDialParams;
RasDialParams.dwSize = sizeof(RASDIALPARAMS); lstrcpy(RasDialParams.szEntryName, lpszEntry);
lstrcpy(RasDialParams.szPhoneNumber, _T(""));
lstrcpy(RasDialParams.szCallbackNumber, _T(""));
GetDlgItemText(IDC_EDIT_USERNAME,RasDialParams.szUserName,UNLEN);
GetDlgItemText(IDC_EDIT_PASSWORD,RasDialParams.szPassword, PWLEN); hRasConn = NULL;
DWORD dwRet = RasDial(NULL, NULL, &RasDialParams, 0L, (RASDIALFUNC)RasDialFunc, &hRasConn);
if(dwRet)
{
CString szMsg;
if(RasGetErrorString((UINT)dwRet, szMsg.GetBuffer(256),256)!=0)
{
szMsg.ReleaseBuffer();
szMsg.Format("未知的远程访问错误,错误代码为:%ld.",dwRet);
}
else
szMsg.ReleaseBuffer(); CString buf;
buf.Format("错误代码为:%ld.",dwRet); szMsg += buf; MessageBox(szMsg,"拨号失败",MB_OK|MB_ICONSTOP);
hRasConn = NULL;
//CDialog::OnCancel();
GetDlgItem(IDOK)->EnableWindow();
GetDlgItem(IDC_COMBO_CONNECT_ENTRIES)->EnableWindow();
GetDlgItem(IDC_EDIT_USERNAME)->EnableWindow();
GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow();
SetDlgItemText(IDC_STATIC_STATUS,"未连接,空闲");
}
}LRESULT CDialerDlg::OnRasDialEvent(WPARAM wparam, LPARAM lparam)
{
CString szMsg;
CString buf; LoadString(AfxGetInstanceHandle(),GetRasConnState((RASCONNSTATE)wparam),buf.GetBuffer(256),256);
szMsg.ReleaseBuffer(); SetDlgItemText(IDC_STATIC_STATUS,"");
SetDlgItemText(IDC_STATIC_STATUS,buf); if(lparam) //错现错误
{
if(RasGetErrorString((UINT)lparam, szMsg.GetBuffer(256),256)!=0)
{
szMsg.ReleaseBuffer();
szMsg.Format("未知的远程访问错误,");
}
else
szMsg.ReleaseBuffer(); //szMsg = buf + "\n" + szMsg;
buf.Format("错误代码为:%ld.",lparam); szMsg += buf; MessageBox(szMsg,"拨号失败",MB_OK|MB_ICONSTOP);
RasHangUp( hRasConn );
hRasConn = NULL;
//CDialog::OnCancel();
GetDlgItem(IDOK)->EnableWindow();
GetDlgItem(IDC_COMBO_CONNECT_ENTRIES)->EnableWindow();
GetDlgItem(IDC_EDIT_USERNAME)->EnableWindow();
GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow();
SetDlgItemText(IDC_STATIC_STATUS,"未连接,空闲");
}
else
if(RASCS_DONE&wparam) //拨号连接成功
{
//AfxMessageBox("拨号连接成功",MB_OK|MB_ICONINFORMATION);
CDialog::OnOK(); // 关闭对话框
} return (LRESULT)0;
}