运行VB6,向窗体添加7个Label控件、1个Timer控件、3个Text文本输入框以及4个Command按钮。
原理简介:用Timer控件的True或者False值,控制倒计时的开始,当到达设定时间的时候,弹出对话框提示断开连接。
OptionExplicit
DimHoursAsInteger
DimMinutesAsInteger
DimSecondsAsInteger
DimtimeAsDate
PrivateDeclareFunctionRasHangUpLib"RasApi32.dll"Alias"RasHangUpA"(ByValhRasConnAsLong)AsLong
PrivateDeclareFunctionRasEnumConnectionsLib"RasApi32.dll"Alias"RasEnumConnectionsA"(lprasconnAsAny,lpcbAsLong,lpcConnectionsAsLong)AsLong
ConstRAS95_MaxEntryName=256
ConstRAS95_MaxDeviceName=128
ConstRAS_MaxDeviceType=16
PrivateTypeRASCONN95
dwSizeAsLong
hRasConnAsLong
szEntryName(RAS95_MaxEntryName)AsByte
szDeviceType(RAS_MaxDeviceType)AsByte
szDeviceName(RAS95_MaxDeviceName)AsByte
EndType
下面一段代码是对Timer的控制,以及到设定时间的时候断开连接的代码
PrivateSubTimer1_Timer()
Timer1.Enabled=False
If(Format100100time,"hh")&&":"&&Format100100time,"nn")&&":"&&Format100100time,"ss"))〈〉"00:00:00"Then
time=DateAdd("s",-1,time)
Label1.Visible=False
Label1.Caption=Format100100time,"hh")&&":"&&Format100100time,"nn")&&":"&&Format100100time,"ss")
Label1.Visible=True
Timer1.Enabled=True
Else
Timer1.Enabled=False
EndIf
IfLabel1.Caption="00:00:01"Then
dsdklj.WindowState=0
Command1.Enabled=True
MsgBox"时间到了,正在断开连接"
DimlngRetCodeAsLong
DimlpcbAsLong
DimlpcConnectionsAsLong
DimintArraySizeAsInteger
DimintLooperAsInteger
ReDimlprasconn95(intArraySize)AsRASCONN95
lprasconn95(0).dwSize=412
lpcb=256*lprasconn95(0).dwSize
lngRetCode=RasEnumConnections(lprasconn95(0),lpcb,lpcConnections)
IflngRetCode=0Then
IflpcConnections〉0Then
ForintLooper=0TolpcConnections-1
RasHangUplprasconn95(intLooper).hRasConn
NextintLooper
UnloadMe
Else
MsgBox"时间到了,没有拨号网络连接"
UnloadMe
EndIf
EndIf
EndIf
EndSub
其实,这个程序还可以进一步的完善,比如添加暂停功能、或者经过改造,适用于宽带的,等等。这不,笨笨拿着电话单正偷着乐呢!笨笨已经利用这个小程序省下了不少网费,你呢?->