⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_25300.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:25300 发表者:精灵老豆 发表日期:2002-12-20 14:15:52
<br>主题:请问怎么知道现在的网络已经断了(编程)?
<br>内容:如题。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:bird 回复日期:2002-12-20 14:19:43
<br>内容: 有一个ras的api函数RasEnumConnections可以查出现在系统中所有的连接,返回是0就是没有连接了。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;下面是一个例子: <BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL WINAPI IsModemOnline() <BR>&nbsp;&nbsp;&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp; RASCONN ras[20]; <BR>&nbsp;&nbsp;&nbsp;&nbsp; DWORD dSize,dNumber,dCount; <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; ras[0].dwSize = sizeof(RASCONN); <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; dSize = sizeof( ras ); <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; if( RasEnumConnections( ras, &amp;dSize, &amp;dNumber ) == 0 ) <BR>&nbsp;&nbsp;&nbsp;&nbsp; if(dNumber&gt;0)return TRUE; <BR>&nbsp;&nbsp;&nbsp;&nbsp; return FALSE; <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;} <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;如果返回TRUE就表示有连接。该例子在VC 6.0 pack2 + Win2000 pro通过。 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:超频 回复日期:2002-12-20 14:21:03
<br>内容:利用ICMP协议实现类似Ping.exe的功能即可
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:bird 回复日期:2002-12-20 14:21:15
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;用Win32 API 函数,定义在Wininet.h中: <BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL InternetGetConnectedState() <BR>&nbsp;&nbsp;&nbsp;&nbsp;VC/BC/BCB 都可用。 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bird 回复日期:2002-12-20 14:21:41
<br>内容:在线返回 TRUE, 掉线返回 FALSE。遍历系统中所有 RAS 连接判断连接情况。Win2K/98 VC6 通过 <BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL CRasThread::GetConnectState() <BR>&nbsp;&nbsp;&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; LPRASCONN lpRasConn = NULL; <BR>&nbsp;&nbsp;&nbsp;&nbsp; DWORD cbBuf = 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; DWORD cConn = 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; DWORD dwRet = 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; HRASCONN hrasconn; <BR>&nbsp;&nbsp;&nbsp;&nbsp; RASCONNSTATUS rasStatus; <BR>&nbsp;&nbsp;&nbsp;&nbsp; UINT ndx; <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; // enumerate connections <BR>&nbsp;&nbsp;&nbsp;&nbsp; cbBuf = sizeof(RASCONN); <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; if ( (lpRasConn = ( LPRASCONN ) malloc((UINT)cbBuf)) != NULL) <BR>&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp; lpRasConn-&gt;dwSize = sizeof( RASCONN ); <BR>&nbsp;&nbsp;&nbsp;&nbsp; dwRet = RasEnumConnections( lpRasConn, &amp;cbBuf, &amp;cConn ); <BR>&nbsp;&nbsp;&nbsp;&nbsp; for (ndx = 0; ndx &lt; cConn; ndx++) <BR>&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp; // get to HRASCONN <BR>&nbsp;&nbsp;&nbsp;&nbsp; hrasconn = lpRasConn[ndx].hrasconn; <BR>&nbsp;&nbsp;&nbsp;&nbsp; // get connection status <BR>&nbsp;&nbsp;&nbsp;&nbsp; rasStatus.dwSize = sizeof(RASCONNSTATUS); <BR>&nbsp;&nbsp;&nbsp;&nbsp; dwRet = RasGetConnectStatus( hrasconn, &amp;rasStatus ); <BR>&nbsp;&nbsp;&nbsp;&nbsp; if ( dwRet ) <BR>&nbsp;&nbsp;&nbsp;&nbsp; return 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; else <BR>&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp; if (rasStatus.rasconnstate == RASCS_Connected) <BR>&nbsp;&nbsp;&nbsp;&nbsp; return 1; <BR>&nbsp;&nbsp;&nbsp;&nbsp; else return 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp;&nbsp; else <BR>&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp; return 0; <BR>&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;} <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -