欲通过代码控制拨号连接,请问该使用什么函数?
shellexec吗?
shellexec吗?
解决方案 »
- 用mfc单文档结构 view类下添加成员变量CEdit 当setWindowText()时为什么它的成员函数m_hWnd是空值
- 请问哪位大侠有tolua++ 1.0.7的源代码?
- 有关C++中this指针的问题
- 【求教】在新增功能时,如何向原有模块传递参数,哪种方法更合理
- 为什么我的IE6打开不了?
- 能透明显示图片的CStatic类,当被其他窗体遮挡后,显示大黑框。。
- 请大侠们给我看看钩子取得的窗口标题乱码是怎么回事
- 高手们:为什么我创建的ATL Control的m_hWnd不能用,WM_CREATE也不响应???
- 如何得到IE中当前页面Url!高手进。。。
- 怎么捕获 PAGEUP PAGEDOWN 按键消息?
- 高分求:Xtreme ToolKit的DockPane怎样再用类似splitter的东西切分
- 只能用键盘控制菜单(我三天没有搞定)
具体方法可以看MSDN或Google搜索
void CTestDlg::OnBtnClickedConnect()
{
UpdateData( TRUE );
RASDIALPARAMS rdParams;
rdParams.dwSize = sizeof(RASDIALPARAMS);
rdParams.szEntryName[0] = '\0';
lstrcpy( rdParams.szPhoneNumber, m_StrPhone);
rdParams.szCallbackNumber[0] = '\0';
lstrcpy( rdParams.szUserName, m_StrUserName );
lstrcpy( rdParams.szPassword, m_StrPassword );
rdParams.szDomain[0] = '\0';
HRASCONN hRasConn = NULL;
DWORD dwRet = RasDial( NULL, NULL, &rdParams, 0L, NULL, &hRasConn );
if ( dwRet == 0 ) return ;
char szBuf[256];
if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
wsprintf( (LPSTR)szBuf, "未知的 RAS 拨号错误: (%ld).", dwRet );
RasHangUp( hRasConn );
MessageBox( (LPSTR)szBuf, "信息提示", MB_OK | MB_ICONSTOP );
}
//断开拨号连接
void CTestDlg::OnBnClickedDisconnectBtn()
{
RASCONN ras[20];
DWORD dSize, dNumber;
char szBuf[256];
ras[0].dwSize = sizeof( RASCONN );
dSize = sizeof( ras );
DWORD dwRet = RasEnumConnections( ras, &dSize, &dNumber );
if ( dwRet != 0 )
{
if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
wsprintf( (LPSTR)szBuf, "未定义RAS连接错误 (%ld).", dwRet );
MessageBox( (LPSTR)szBuf, "信息提示", MB_OK | MB_ICONSTOP );
return ;
}
for( DWORD dCount = 0; dCount < dNumber; dCount++ )
{
HRASCONN hRasConn = ras[dCount].hrasconn;
DWORD dwRet = RasHangUp( hRasConn );
if ( dwRet != 0 )
{
char szBuf[256];
if ( RasGetErrorString( (UINT)dwRet, (LPSTR)szBuf, 256 ) != 0 )
wsprintf( (LPSTR)szBuf, "Undefined RAS HangUp Error (%ld).", dwRet );
MessageBox( (LPSTR)szBuf, "RasHangUp", MB_OK | MB_ICONSTOP );
}
}
}
其一是tapi
其二是at指令