• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 用BCB编程实现挂断拨号网络功能

      河北 张利辉

        有一次在用BCB开发程序的过程时,客户要求实现在结束Internet事务(传输文件等)后自动挂断拨号网络的功能,以提高软件的自动化程度。首先想到的方法是使用Windows API实现该功能,但是查遍WIN32 API并没有发现相应的函数。在查阅资料之后终于找到了一种解决的方法,为了给同行以帮助,特将此方法介绍给大家。

        我是使用RAS API来完成这个功能的。使用它需要三个条件:1.计算机中应当安装好拨号网络,此时的Window\system目录下将会存在动态链接库RasApi32.dll,

      用C++ Builder为计算机增加启动日志
      用C++ Builder实现VFP数据库开发,用BCB开发有身份认证功能的Email程序,BCB动态生成30个按钮对象,BCB不让应用程序显示在任务栏上的方法,利用C++Builder自定义Windows窗体“系统菜单”,用程序实现文件的关联,数字小键盘指法练习,用C++ Builder开发多层数据库应用程序,在C++ Builder6上使用Boost正则表达式库,C++Builder使用经验谈,用C++ Builder对图像进行特殊效果处理,CBuilder中帮助文件的连接及显示讨论,BCB客户端tuxedo开发实例,在BCB下使用GExperts的Debug功能,BCB编写DLL终极手册,在拷贝、删除文件时显示飞行的文件夹动画,用BCB实现超星格式转换为BMP格式,在C++Builder中使用Compress Html Help,在bcb里实现像Winamp那样具有吸附效果的磁性窗口,利用BCB巧建WEB浏览器
      C++ Builder

      这是实现本功能的前提条件;2.源程序中应当有预编译指令#include ″ras.h″;3.存在库文件RasApi32.lib。

        我的方法中用到了RAS API中提供的两个函数RasHangUp()和RasEnumConnections(),它们的原型和功能如下:

        DWORD RasHangUp(HRASCONN hrasconn),此函数的功能是关闭拨号网络,返回值是0时表示调用成功。它的参数是RAS句柄,该句柄的获得可以通过下面的函数。

        DWORD RasEnumConnections(LPRASCONN lprasconn, LPDWORD lpcb, LPDWORD lpcConnections),这个函数可以获得所有连接的数据。它的三个参数都是指针,第一个指向存放连接数据的缓冲区,该缓冲区由RASCONN结构数组组成。RASCONN结构的成员hrasconn保存了RasHangUp()所需的RAS句柄;第二个参数指向存放缓冲器字节数的变量;第三个参数指向的变量存放了连接的数目。当函数返回值是0时表示调用成功。

        实现挂断拨号网络功能的函数如下:

        bool CloseRas()

        {bool bReturn= false;

        RASCONN ras[20];

        DWORD dSize, dNumber, dCount;

        //函数RasEnumConnections()的要求

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

        dSize =sizeof(ras);

        if (RasEnumConnections(ras, &dSize, &dNumber)==0)

        {bReturn=true;

        //依次关闭所有的连接

        for (dCount=0; dCount<dNumber; dCount++ )

        {if (RasHangUp(ras[dCount].hrasconn)!=0)

        {bReturn=false;

        break;

        }}}

        return bReturn;

        }

        将它加入到程序中适当的位置就可以实现自动挂断拨号网络的功能了,本函数在Windows 98、Borland C++ Builder 5.0中运行成功。

      WINDOWS下的动态鼠标光标控制
      用C++ Builder实现VFP数据库开发,用BCB开发有身份认证功能的Email程序,BCB动态生成30个按钮对象,BCB不让应用程序显示在任务栏上的方法,利用C++Builder自定义Windows窗体“系统菜单”,用程序实现文件的关联,数字小键盘指法练习,用C++ Builder开发多层数据库应用程序,在C++ Builder6上使用Boost正则表达式库,C++Builder使用经验谈,用C++ Builder对图像进行特殊效果处理,CBuilder中帮助文件的连接及显示讨论,BCB客户端tuxedo开发实例,在BCB下使用GExperts的Debug功能,BCB编写DLL终极手册,在拷贝、删除文件时显示飞行的文件夹动画,用BCB实现超星格式转换为BMP格式,在C++Builder中使用Compress Html Help,在bcb里实现像Winamp那样具有吸附效果的磁性窗口,利用BCB巧建WEB浏览器
      C++ Builder

    • 0
    • 0
    • 0
    • 84
    • 单栏布局 侧栏位置: