VS2005中 VC实现GPRS异步方式拨号,为什么得不到响应的消息?
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);
}
能拨号成功,但是在这个消息响应的方法里,这些提示都显示不出来,对话框也谈不出来。怀疑是没有响应这个消息。为什么呢?
有啥问题么?