中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual Basic > 综合文章
用VB做定时断线程序
作者:未知 时间:2005-08-07 20:53 出处:编程爱好者网站 责编:chinaitpower
              摘要:用VB做定时断线程序
  文/笨笨

  作为网虫,最头疼的事情之一就是每月高额的电话费。笨笨也是一样,每个月都想着少上一会儿网,然而银子仍然像流水一样飞逝……一天,笨笨突然想到了VB中有一个强大的时间控件——Timer,为什么不做一个能定时断开连接的程序呢?经过了一番研究和N次的调试,笨笨终于成功了。不敢独占,拿来和大家一起分享,也解救一下为了网费而过得“水深火热”的网虫。


  运行VB 6,向窗体添加7个Label控件、1个Timer控件、3个Text文本输入框以及4个Command按钮(如图1)。

  原理简介:用Timer控件的True或者False值,控制倒计时的开始,当到达设定时间的时候,弹出对话框提示断开连接。

  Option Explicit

  Dim Hours As Integer

  Dim Minutes As Integer

  Dim Seconds As Integer

  Dim time As Date

  Private Declare Function RasHangUp Lib "RasApi32.dll" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long

  Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lprasconn As Any, lpcb As Long, lpcConnections As Long) As Long

  Const RAS95_MaxEntryName = 256

  Const RAS95_MaxDeviceName = 128

  Const RAS_MaxDeviceType = 16

  Private Type RASCONN95

  dwSize As Long

  hRasConn As Long

  szEntryName(RAS95_MaxEntryName) As Byte

  szDeviceType(RAS_MaxDeviceType) As Byte

  szDeviceName(RAS95_MaxDeviceName) As Byte

  End Type

  下面一段代码是对Timer的控制,以及到设定时间的时候断开连接的代码

  Private Sub Timer1_Timer()

  Timer1.Enabled = False

  If (Format100 100time, "hh") && ":" && Format100 100time, "nn") && ":" && Format100 100time, "ss"))〈〉"00:00:00" Then

  time = DateAdd("s", -1, time)

  Label1.Visible = False

  Label1.Caption = Format100 100time, "hh") && ":" && Format100 100time, "nn") && ":" && Format100 100time, "ss")

  Label1.Visible = True

  Timer1.Enabled = True

  Else

  Timer1.Enabled = False

  End If

  If Label1.Caption = "00:00:01" Then

  dsdklj.WindowState = 0

  Command1.Enabled = True

  MsgBox "时间到了,正在断开连接"

  Dim lngRetCode As Long

  Dim lpcb As Long

  Dim lpcConnections As Long

  Dim intArraySize As Integer

  Dim intLooper As Integer

  ReDim lprasconn95(intArraySize) As RASCONN95

  lprasconn95(0).dwSize = 412

  lpcb = 256 * lprasconn95(0).dwSize

  lngRetCode = RasEnumConnections(lprasconn95(0), lpcb, lpcConnections)

  If lngRetCode = 0 Then

  If lpcConnections〉0 Then

  For intLooper = 0 To lpcConnections-1

  RasHangUp lprasconn95(intLooper).hRasConn

  Next intLooper

  Unload Me

  Else

  MsgBox "时间到了,没有拨号网络连接"

  Unload Me

  End If

  End If

  End If

  End Sub

  其实,这个程序还可以进一步的完善,比如添加暂停功能、或者经过改造,适用于宽带的,等等。这不,笨笨拿着电话单正偷着乐呢!笨笨已经利用这个小程序省下了不少网费,你呢?

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有