📄 dialdlg.cpp
字号:
// DialDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ras.h"
#include "raserror.h"
#include "tapiutils.h"
#include "netpro.h"
#include "DialDlg.h"
#include "DialRing.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDialDlg dialog
extern HINSTANCE hRasLib;
CSystemStatus SystemStatus;
CSystemStatus::CSystemStatus()
{
m_dwDialStatus=0;
bDialWinOnCancel= FALSE;
}
CDialDlg::CDialDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDialDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDialDlg)
m_cJMPNum = SystemStatus.m_CFBL;
m_bOffDial = SystemStatus.bOffDial ;
m_bOffJMP = SystemStatus.bOffJMP;
m_bOnDial = SystemStatus.bOnDial;
m_bOnJMP = SystemStatus.bOnJMP;
m_cTelNum = _T("163");
m_cPassword = _T("");
m_cUserName = _T("");
m_DialStatus=2;
m_iSelect=SystemStatus.m_iSelect ;
//}}AFX_DATA_INIT
}
void CDialDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDialDlg)
DDX_Control(pDX, IDC_DIALLIST, m_Diallist);
DDX_Text(pDX, IDC_JMPNUM, m_cJMPNum);
DDX_Check(pDX, IDC_CHKOFFDIAL, m_bOffDial);
DDX_Check(pDX, IDC_CHKOFFJMP, m_bOffJMP);
DDX_Check(pDX, IDC_CHKONDIAL, m_bOnDial);
DDX_Check(pDX, IDC_CHKONJMP, m_bOnJMP);
DDX_Text(pDX, IDC_TELNUM, m_cTelNum);
DDX_Text(pDX, IDC_PASSWORD, m_cPassword);
DDX_Text(pDX, IDC_USERNAME, m_cUserName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDialDlg, CDialog)
//{{AFX_MSG_MAP(CDialDlg)
ON_CBN_SELCHANGE(IDC_DIALLIST, OnSelchangeDiallist)
ON_BN_CLICKED(IDC_CHKONDIAL, OnChkondial)
ON_BN_CLICKED(IDC_CHKONJMP, OnChkonjmp)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDialDlg message handlers
BOOL CDialDlg::OnInitDialog()
{
CDialog::OnInitDialog();
DlgCtrlInit();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDialDlg::DlgCtrlInit()
{
RASENTRYNAME entry[20];
BOOL p=TRUE;
RASDIALPARAMS params;
// RASENTRY rasEntry;
DWORD dwSize;
DWORD ret,n;
CWnd* pCtrlAll;
dwSize=sizeof(entry);
entry[0].dwSize=sizeof(RASENTRYNAME);
ret=RasEnumEntries(NULL, NULL, entry, &dwSize,&n);
if(ret==0){
for (DWORD i=0;i< n;i++)
{
m_Diallist.AddString(entry[i].szEntryName);
}
m_Diallist.SetCurSel(SystemStatus.m_iSelect);
memset(¶ms, '\0',sizeof(params));
params.dwSize=sizeof(RASDIALPARAMS);
m_Diallist.GetLBText(0, params.szEntryName);
TRACE("%s\n",params.szEntryName);
RasGetEntryDialParams(NULL, ¶ms, &p);
// m_cTelNum=params.szPhoneNumber;
m_cUserName=params.szUserName;
m_cPassword=params.szPassword;
/*memset(&rasEntry, '\0',sizeof(rasEntry));
rasEntry.dwSize=sizeof(RASENTRY);
dwSize = sizeof(rasEntry);
if(m_cTelNum=="")
{
RasGetEntryProperties(NULL,NULL,&rasEntry,&dwSize,NULL,NULL);
}*/
UpdateData(FALSE);
}//if(ret==0)
if(m_bOnDial==0)
{
pCtrlAll=GetDlgItem(IDC_DIALLIST);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_TELNUM);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_USERNAME);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_PASSWORD);
pCtrlAll->EnableWindow(FALSE);
}
if(m_bOnJMP==0)
{
pCtrlAll=GetDlgItem(IDC_JMPNUM);
pCtrlAll->EnableWindow(FALSE);
}
}
void CDialDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
ShowWindow(SW_HIDE);
if(!((m_bOnJMP==0) &&(m_bOnDial==0)))
{
m_IsDialUpSucc=FALSE;
//DlgDialUp();
CDialRing* pDialRingDlg;
pDialRingDlg= new CDialRing(this);
if(pDialRingDlg->DoModal()==IDOK)
{
delete pDialRingDlg;
m_IsDialUpSucc=TRUE;
SystemStatus.m_iSelect =m_Diallist.GetCurSel();
SystemStatus.bOnDial =m_bOnDial;
SystemStatus.bOnJMP=m_bOnJMP;
}else{
delete pDialRingDlg;
ShowWindow(SW_NORMAL);
return;
}
}
SystemStatus.bOnDial =m_bOnDial;
SystemStatus.bOnJMP=m_bOnJMP;
CDialog::OnOK();
return;
}
void CDialDlg::OnCancel()
{
// TODO: Add extra cleanup here
SystemStatus.bDialWinOnCancel=TRUE;
UpdateData(TRUE);
//SystemStatus.bOnDial =m_bOnDial;
//SystemStatus.bOffDial =m_bOffDial;
//SystemStatus.bOnJMP=m_bOnJMP;
//SystemStatus.bOffJMP=m_bOffJMP;
CDialog::OnCancel();
}
void CDialDlg::OnSelchangeDiallist()
{
int sel;
BOOL p=TRUE;
RASDIALPARAMS params;
// TODO: Add your control notification handler code here
sel=m_Diallist.GetCurSel();
memset(¶ms, '\0',sizeof(params));
params.dwSize=sizeof(RASDIALPARAMS);
m_Diallist.GetLBText(sel, params.szEntryName);
TRACE("%s\n",params.szEntryName);
RasGetEntryDialParams(NULL, ¶ms, &p);
// m_cTelNum=params.szPhoneNumber;
m_cUserName=params.szUserName;
m_cPassword=params.szPassword;
UpdateData(FALSE);
}
void CDialDlg::OnChkondial()
{
CWnd* pCtrlAll;
UpdateData(TRUE);
// TODO: Add your control notification handler code here
if(m_bOnDial==0)
{
pCtrlAll=GetDlgItem(IDC_DIALLIST);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_TELNUM);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_USERNAME);
pCtrlAll->EnableWindow(FALSE);
pCtrlAll=GetDlgItem(IDC_PASSWORD);
pCtrlAll->EnableWindow(FALSE);
}
else
{
pCtrlAll=GetDlgItem(IDC_DIALLIST);
pCtrlAll->EnableWindow(TRUE);
pCtrlAll=GetDlgItem(IDC_TELNUM);
pCtrlAll->EnableWindow(TRUE);
pCtrlAll=GetDlgItem(IDC_USERNAME);
pCtrlAll->EnableWindow(TRUE);
pCtrlAll=GetDlgItem(IDC_PASSWORD);
pCtrlAll->EnableWindow(TRUE);
}
}
void CDialDlg::OnChkonjmp()
{
// TODO: Add your control notification handler code here
CWnd* pCtrlAll;
UpdateData(TRUE);
if(m_bOnJMP==0)
{
pCtrlAll=GetDlgItem(IDC_JMPNUM);
pCtrlAll->EnableWindow(FALSE);
}
else
{
pCtrlAll=GetDlgItem(IDC_JMPNUM);
pCtrlAll->EnableWindow(FALSE);
}
}
/*
UINT CDialDlg::OnDialEventArrived(WPARAM wParam,LPARAM lParam)
{
CString m_cStatus;
RASCONNSTATE rasconnstate;
DWORD dwError,dwRet;
rasconnstate = (RASCONNSTATE) wParam; // connection state about to be entered
dwError = (DWORD) lParam; // error that may have occurred
char szBuf[128];
if(dwError)
{
//Error Process
dwRet = dwError;
if ( dwRet != 0 )
{
if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
wsprintf( (LPSTR)szBuf, "Undefined RAS Dial Error (%ld).", dwRet );
::MessageBox( NULL,(LPSTR)szBuf, "Error", MB_OK | MB_ICONSTOP );
return TRUE;
}
}
else
{
switch(rasconnstate)
{
case RASCS_OpenPort:
case RASCS_PortOpened:
case RASCS_ConnectDevice:
case RASCS_DeviceConnected:
case RASCS_AllDevicesConnected:
m_cStatus="正在拨号上网...";
break;
case RASCS_Authenticate:
case RASCS_AuthNotify:
case RASCS_AuthRetry:
case RASCS_AuthCallback:
case RASCS_AuthChangePassword:
case RASCS_AuthProject:
case RASCS_AuthLinkSpeed:
case RASCS_AuthAck:
case RASCS_ReAuthenticate:
m_cStatus = "正在验证用户名和密码...";
break;
case RASCS_Authenticated:
case RASCS_PrepareForCallback:
case RASCS_WaitForModemReset:
case RASCS_WaitForCallback:
case RASCS_Projected:
break;
case RASCS_Connected:
m_cStatus = "OK";
break;
case RASCS_Disconnected:
m_cStatus = "正在断开网络";
default:
;
}
}
UpdateData(FALSE);
return TRUE;
}
*/
//void RasDialFunc( UINT unMsg, RASCONNSTATE rasconnstate, DWORD dwError )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -