首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

在使用Internet后挂断线路

打印文章

分享到:
WinInet API提供的功能很强大,但是当关闭掉Internet事务却不能关闭掉dial up连接。在WinInet API中没有提供相应的函数完成该功能。

解决方法:
RAS API可以通过调用RasHangUp(...)关闭连接,但是需要RAS句柄。有两种方法可以得当RAS句柄:1、自己建立RAS连接是保存该句柄,但这样做对与解决当前提出的问题是没必要的,2、通过RasEnumConnections(...)列举所有句柄。

所需环境:
RASAPI32.DLL,该连接库在安装播号网络时会自动安装。
RAS.H
RASAPI32.LIB
示范代码:
// Quit a dial up connection  - rasapi32.lib und #include "ras.h" needed
bool DisconnectRas()
{
   bool bOk = false;
   RASCONN ras[20];
   DWORD dSize,dNumber,dCount;

   ras[0].dwSize = sizeof(RASCONN);
   dSize = sizeof( ras );

   // Get active RAS - Connection
   if( RasEnumConnections( ras, &dSize, &dNumber ) == 0 )
   {
      bOk = true;

      for( dCount = 0; dCount < dNumber; dCount++ )
      {
         // Hang up that connection
         if( RasHangUp(ras[dCount].hrasconn) != 0 )
         {
            bOk = false;
            break;
         }
      }
   }
   return bOk;
}

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章