-
您现在的位置:网络学院 > 开发特区 > 开发语言 > VC/MFC
VC++实现拨号上网程序详解

出处:PConline
责任编辑:pcedu

[03-9-24 11:20] 作者:佚名
-

  2. 理确认消息以得到拨号过程的当前状态。

  我们以指定窗口来处理确认消息为例说明如何得到拨号过程的当前状态。

  在处理确认消息的对话框类(或视图类等)的实现代码中加入:

  const UINT WM_RASEVENT = ::RegisterWindowMessageA(RASDIALEVENT);
  在Message Map中手工加入消息映射:(****是你定义的对话框类名称)
  BEGIN_MESSAGE_MAP(****, CDialog)
  //AFX_MSG_MAP(****)
  ……
  ON_REGISTERED_MESSAGE(WM_RASEVENT, OnRasDialEvent)(<-加入此句)
  //AFX_MSG_MAP
  END_MESSAGE_MAP()
  加入成员函数处理消息:
  LRESULT CDialInfo::OnRasDialEvent(WPARAM wp, LPARAM lp)
  {
  RASCONNSTATE rasstate= (RASCONNSTATE)wp;
  CListBox *info =(CListBox *)GetDlgItem(IDC_INFOLIST);
  //用ListBox 控件(ID为IDC-INFOLIST)来显示状态)
  switch(rasstate)
  {
  case RASCS_OpenPort:
  info→AddString(_T(″打开端口……″));
  break;
  case RASCS_PortOpened:
  info→AddString(_T(″端口已打开.″));
  break;
  case RASCS_ConnectDevice:
  info→AddString(_T(″连接设备……″));
  break;
  case RASCS_DeviceConnected:
  info→AddString(_T(″设备已连接.″));
  break;
  case RASCS_Authenticate:
  info→AddString(_T(″验证用户及密码″));
  break;
  case RASCS_Authenticated:
  info→AddString(_T(″通过″));
  break;
  case RASCS_Connected:
  info->AddString(_T(″已连接″));
  reak;
  case RASCS_Disconnected:
  info->AddString(_T(″连接已断开″));
  m_hRasConn=NULL;
  //可定义类型为HRASCONN的成员变量m_hRasConn来保存RAS连接的句柄。
  //在调用RasDial时用指向m_hRasConn的指针作为lphRasConn参数。
  //既然用m_hRasConn来保存连接句柄,连接断开后应重置为NULL.
  break;
  default:
  return (LRESULT)0;
  }
  return (LRESULT)0;
  }
  3. 断开连接:
  if (m_hRasConn != NULL)
  {
  RasHangUp(m_hRasConn);
  m_hRasConn = NULL;
  m_OnDial=TRUE;
  :Sleep(2000);
  }


ad
发给好友 投稿给我们 加入收藏 返回顶部

相关文章:
IT培训十大热门文章
·追击热门IT认证:CCIE
·追击热门IT认证:RHCE
·获IT认证后薪水能涨多少?
·获IT认证后薪水能涨多少?
·中专生能进大型IT公司吗?
·软件工程习题200题之一
·Cisco9月变更考试科目总汇
·下载:Oracle 1Z0-026 Net8
·C++代码优化方法总结(3)
·CCNA640-607电子教材(1)

内容搜索 
高级搜索
本栏今日焦点