VS2005中 VC实现GPRS异步方式拨号,为什么得不到响应的消息?

simalaya 2008-04-11 10:39:07
void ClsmpcDlg::ConnectGPRS(void)
{
RASDIALPARAMS rdParams;

hRasConn = NULL;
// 初始化拨号参数
rdParams.dwSize = sizeof(RASDIALPARAMS);
wcscpy(rdParams.szEntryName,_T("gprs"));
wcscpy(rdParams.szPhoneNumber,_T(""));
wcscpy(rdParams.szCallbackNumber,_T(""));
wcscpy(rdParams.szUserName,_T(""));
wcscpy(rdParams.szPassword,_T(""));
wcscpy(rdParams.szDomain,_T(""));

DWORD dwRet;
//同步建立拨号连接
dwRet = RasDial(NULL,NULL,&rdParams,0xFFFFFFFF,&m_hWnd,&hRasConn);
if( dwRet !=0 ){
CString RasErrorCode;
RasErrorCode.Format(_T("拨号失败! ErrorCode: %d"),dwRet);
AfxMessageBox(RasErrorCode);
}
}

LRESULT ClsmpcDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类

if( message == WM_RASDIALEVENT ) // 收到拨号连接消息
{
switch(wParam)
{
case RASCS_OpenPort:
{
//正在打开端口
GPRS_HitString.SetWindowText(_T("正在打开端口..."));
break;
}
case RASCS_PortOpened:
{
//端口已打开
GPRS_HitString.SetWindowText(_T("端口打开成功..."));
break;
}
case RASCS_ConnectDevice:
{
//正在连接设备
GPRS_HitString.SetWindowText(_T("端口打开成功..."));
break;
}
case RASCS_Connected:
{
//连接已建立
GPRS_HitString.SetWindowText(_T("连接已建立!"));
AfxMessageBox(_T("连接已建立!"));
break;
}
case RASCS_Disconnected:
{
//连接断开
GPRS_HitString.SetWindowText(_T("连接断开!"));
AfxMessageBox(_T("连接已断开!"));
break;
}
default:
{
break;
}

}
}

return CDialog::WindowProc(message, wParam, lParam);
}

能拨号成功,但是在这个消息响应的方法里,这些提示都显示不出来,对话框也谈不出来。怀疑是没有响应这个消息。为什么呢?
有啥问题么?
...全文
179 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
guguqiaqia 2008-04-11
  • 打赏
  • 举报
回复
你可以参考一下一个wm6 sdk 下面的一个例子,是有关gprs多线程的。

位置:

Demonstrates how to write a simplified Connection Manager client by deriving functionality from a helper class.

Folder : \PocketPC\CPP\MFC\CMHELPER

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧